内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Python中短小函數(shù) python最小值函數(shù)編寫

python Lambda 形式的使用?

4.7.5. Lambda 形式

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計、網(wǎng)站制作與策劃設(shè)計,樟樹網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:樟樹等地區(qū)。樟樹做網(wǎng)站價格咨詢:13518219792

出于實際需要,有幾種通常在函數(shù)式編程語言例如 Lisp 中出現(xiàn)的功能加入到了 Python。通過 lambda 關(guān)鍵字,可以創(chuàng)建短小的匿名函數(shù)。這里有一個函數(shù)返回它的兩個參數(shù)的和: lambda a, b: a+b。 Lambda 形式可以用于任何需要的函數(shù)對象。出于語法限制,它們只能有一個單獨的表達(dá)式。語義上講,它們只是普通函數(shù)定義中的一個語法技巧。類似于嵌套函數(shù)定義,lambda 形式可以從外部作用域引用變量:

def make_incrementor(n):

... return lambda x: x + n

...

f = make_incrementor(42)

f(0)

42

f(1)

43

上面的示例使用 lambda 表達(dá)式返回一個函數(shù)。另一個用途是將一個小函數(shù)作為參數(shù)傳遞:

pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]

pairs.sort(key=lambda pair: pair[1])

pairs

[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two

python中函數(shù)包括

1. print()函數(shù):打印字符串

2. raw_input()函數(shù):從用戶鍵盤捕獲字符

3. len()函數(shù):計算字符長度

4. format(12.3654,'6.2f'/'0.3%')函數(shù):實現(xiàn)格式化輸出

5. type()函數(shù):查詢對象的類型

6. int()函數(shù)、float()函數(shù)、str()函數(shù)等:類型的轉(zhuǎn)化函數(shù)

7. id()函數(shù):獲取對象的內(nèi)存地址

8. help()函數(shù):Python的幫助函數(shù)

9. s.islower()函數(shù):判斷字符小寫

10. s.sppace()函數(shù):判斷是否為空格

11. str.replace()函數(shù):替換字符

12. import()函數(shù):引進(jìn)庫

13. math.sin()函數(shù):sin()函數(shù)

14. math.pow()函數(shù):計算次方函數(shù)

15. 3**4: 3的4次方

16. pow(3,4)函數(shù):3的4次方

17. os.getcwd()函數(shù):獲取當(dāng)前工作目錄

18. listdir()函數(shù):顯示當(dāng)前目錄下的文件

19. socket.gethostbyname()函數(shù):獲得某主機(jī)的IP地址

20. urllib.urlopen(url).read():打開網(wǎng)絡(luò)內(nèi)容并存儲

21. open().write()函數(shù):寫入文件

22. webbrowser.open_new_tab()函數(shù):新建標(biāo)簽并使用瀏覽器打開指定的網(wǎng)頁

23. def function_name(parameters):自定義函數(shù)

24. time.sleep()函數(shù):停止一段時間

25. random.randint()函數(shù):產(chǎn)生隨機(jī)數(shù)

Python中冷門但非常好用的內(nèi)置函數(shù)

Python中有許多內(nèi)置函數(shù),不像print、len那么廣為人知,但它們的功能卻異常強(qiáng)大,用好了可以大大提高代碼效率,同時提升代碼的簡潔度,增強(qiáng)可閱讀性

Counter

collections在python官方文檔中的解釋是High-performance container datatypes,直接的中文翻譯解釋高性能容量數(shù)據(jù)類型。這個模塊實現(xiàn)了特定目標(biāo)的容器,以提供Python標(biāo)準(zhǔn)內(nèi)建容器 dict , list , set , 和 tuple 的替代選擇。在python3.10.1中它總共包含以下幾種數(shù)據(jù)類型:

容器名簡介

namedtuple() 創(chuàng)建命名元組子類的工廠函數(shù)

deque 類似列表(list)的容器,實現(xiàn)了在兩端快速添加(append)和彈出(pop)

ChainMap 類似字典(dict)的容器類,將多個映射集合到一個視圖里面

Counter 字典的子類,提供了可哈希對象的計數(shù)功能

OrderedDict 字典的子類,保存了他們被添加的順序

defaultdict 字典的子類,提供了一個工廠函數(shù),為字典查詢提供一個默認(rèn)值

UserDict 封裝了字典對象,簡化了字典子類化

UserList 封裝了列表對象,簡化了列表子類化

UserString 封裝了字符串對象,簡化了字符串子類化

其中Counter中文意思是計數(shù)器,也就是我們常用于統(tǒng)計的一種數(shù)據(jù)類型,在使用Counter之后可以讓我們的代碼更加簡單易讀。Counter類繼承dict類,所以它能使用dict類里面的方法

舉例

#統(tǒng)計詞頻

fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']

result = {}

for fruit in fruits:

if not result.get(fruit):

result[fruit] = 1

else:

result[fruit] += 1

print(result)

#{'apple': 2, 'peach': 3, 'lemon': 1}下面我們看用Counter怎么實現(xiàn):

from collections import Counter

fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']

c = Counter(fruits)

print(dict(c))

#{'apple': 2, 'peach': 3, 'lemon': 1}顯然代碼更加簡單了,也更容易閱讀和維護(hù)了。

elements()

返回一個迭代器,其中每個元素將重復(fù)出現(xiàn)計數(shù)值所指定次。元素會按首次出現(xiàn)的順序返回。如果一個元素的計數(shù)值小于1,elements()將會忽略它。

c = Counter(a=4, b=2, c=0, d=-2)

sorted(c.elements())

['a', 'a', 'a', 'a', 'b', 'b']most_common([n])

返回一個列表,其中包含n個最常見的元素及出現(xiàn)次數(shù),按常見程度由高到低排序。如果n被省略或為None,most_common()將返回計數(shù)器中的所有元素。計數(shù)值相等的元素按首次出現(xiàn)的順序排序:

Counter('abracadabra').most_common(3)

[('a', 5), ('b', 2), ('r', 2)]這兩個方法是Counter中最常用的方法,其他方法可以參考 python3.10.1官方文檔

實戰(zhàn)

Leetcode 1002.查找共用字符

給你一個字符串?dāng)?shù)組words,請你找出所有在words的每個字符串中都出現(xiàn)的共用字符(包括重復(fù)字符),并以數(shù)組形式返回。你可以按任意順序返回答案。

輸入:words = ["bella", "label", "roller"]

輸出:["e", "l", "l"]

輸入:words = ["cool", "lock", "cook"]

輸出:["c", "o"]看到統(tǒng)計字符,典型的可以用Counter完美解決。這道題是找出字符串列表里面每個元素都包含的字符,首先可以用Counter計算出每個元素每個字符出現(xiàn)的次數(shù),依次取交集最后得出所有元素共同存在的字符,然后利用elements輸出共用字符出現(xiàn)的次數(shù)

class Solution:

def commonChars(self, words: List[str]) - List[str]:

from collections import Counter

ans = Counter(words[0])

for i in words[1:]:

ans = Counter(i)

return list(ans.elements())提交一下,發(fā)現(xiàn)83個測試用例耗時48ms,速度還是不錯的

sorted

在處理數(shù)據(jù)過程中,我們經(jīng)常會用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時候就需要用到sorted(),它可以對任何可迭代對象進(jìn)行排序,并返回列表

對列表升序操作:

a = sorted([2, 4, 3, 7, 1, 9])

print(a)

# 輸出:[1, 2, 3, 4, 7, 9]對元組倒序操作:

sorted((4,1,9,6),reverse=True)

print(a)

# 輸出:[9, 6, 4, 1]使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長度來排序:

fruits = ['apple', 'watermelon', 'pear', 'banana']

a = sorted(fruits, key = lambda x : len(x))

print(a)

# 輸出:['pear', 'apple', 'banana', 'watermelon']all

all() 函數(shù)用于判斷給定的可迭代參數(shù)iterable中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。元素除了是 0、空、None、False外都算True。注意:空元組、空列表返回值為True。

all(['a', 'b', 'c', 'd']) # 列表list,元素都不為空或0

True

all(['a', 'b', '', 'd']) # 列表list,存在一個為空的元素

False

all([0, 1,2, 3]) # 列表list,存在一個為0的元素

False

all(('a', 'b', 'c', 'd')) # 元組tuple,元素都不為空或0

True

all(('a', 'b', '', 'd')) # 元組tuple,存在一個為空的元素

False

all((0, 1, 2, 3)) # 元組tuple,存在一個為0的元素

False

all([]) # 空列表

True

all(()) # 空元組

Trueany函數(shù)正好和all函數(shù)相反:判斷一個tuple或者list是否全為空,0,F(xiàn)alse。如果全為空,0,F(xiàn)alse,則返回False;如果不全為空,則返回True。

F-strings

在python3.6.2版本中,PEP 498提出一種新型字符串格式化機(jī)制,被稱為 “字符串插值” 或者更常見的一種稱呼是F-strings,F(xiàn)-strings提供了一種明確且方便的方式將python表達(dá)式嵌入到字符串中來進(jìn)行格式化:

s1='Hello'

s2='World'

print(f'{s1} {s2}!')

# Hello World!在F-strings中我們也可以執(zhí)行函數(shù):

def power(x):

return x*x

x=4

print(f'{x} * {x} = {power(x)}')

# 4 * 4 = 16而且F-strings的運(yùn)行速度很快,比傳統(tǒng)的%-string和str.format()這兩種格式化方法都快得多,書寫起來也更加簡單。

本文主要講解了python幾種冷門但好用的函數(shù),更多內(nèi)容以后會陸陸續(xù)續(xù)更新~

新聞標(biāo)題:Python中短小函數(shù) python最小值函數(shù)編寫
網(wǎng)頁URL:http://m.rwnh.cn/article44/doopjee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作網(wǎng)站收錄、商城網(wǎng)站、做網(wǎng)站、網(wǎng)站建設(shè)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
遂宁市| 外汇| 平乡县| 方城县| 米泉市| 弥勒县| 江北区| 武乡县| 江华| 佛教| 准格尔旗| 绩溪县| 万年县| 甘德县| 兴仁县| 甘谷县| 溧阳市| 遵化市| 闵行区| 友谊县| 辉县市| 双流县| 绍兴县| 上犹县| 册亨县| 丘北县| 平远县| 夏津县| 上犹县| 洞口县| 汉沽区| 靖边县| 肃宁县| 嘉禾县| 马公市| 砚山县| 娱乐| 桓台县| 义乌市| 洛扎县| 修文县|