亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python語言有哪些特性

發布時間:2020-06-06 17:03:26 來源:億速云 閱讀:319 作者:Leah 欄目:編程語言

Python語言有哪些特性?很多人可能不知道Python語言的特性,它們分別是列表操作、壓縮和枚舉、列表推導式、虛擬環境的使用和生成器。接下來為大家介紹這五個特性的作用和使用方法。

 

Python語言有哪些特性

 

1、列表操作
  

Python允許使用反向索引,其中aList[-1] == aList[len(aList)-1] 。所以,我們可以通過調用aList[-2] 來獲取列表的倒數第二個元素。我們還能使用 aList[start:end:step] 語法來對列表進行切片,其中起始元素包含在內,終止元素不包含在內(即 [start,end) 步長為 step 的前閉后開區間)。因此,調用 aList[2:5] 會得到 [2, 3, 4]。我們也能通過調用 aList[::-1] 來反轉列表,這種技術非常優雅。此外,也可以將列表拆分成單獨的元素,或者使用星號將列表拆分成單個元素和子列表的混合形式。

 

a, b, c, d = aList[0:4]
  

print(f'a = {a}, b = {b}, c = {c}, d = aegqsqibtmh')
  

# a = 0, b = 1, c = 2, d = 3

 

a, *b, c, d = aList

 

print(f'a = {a}, b = {b}, c = {c}, d = aegqsqibtmh')
  

# a = 0, b = [1, 2, 3, 4, 5, 6, 7], c = 8, d = 9

 

2、壓縮和枚舉
  

Zip 函數會創建一個 迭代器,且該迭代器可以對來自多個列表的元素進行聚合。用它可以在 for 循環中對列表進行并行遍歷和排序。用星號對其進行解壓。
  

numList = [0, 1, 2]
  

engList = ['zero', 'one', 'two']
  

espList = ['cero', 'uno', 'dos']
  

print(list(zip(numList, engList, espList)))
  

# [(0, 'zero', 'cero'), (1, 'one', 'uno'), (2, 'two', 'dos')]
  

for num, eng, esp in zip(numList, engList, espList):
  

print(f'{num} is {eng} in English and {esp} in Spanish.')
  

# 0 is zero in English and cero in Spanish.
  

# 1 is one in English and uno in Spanish.
  

# 2 is two in English and dos in Spanish.
  

3、列表推導式
  

很多人認為,lambda、map和filter是初學者應該最先掌握的 Python“技巧”。雖然我也認為應關注這些功能,但由于它們缺乏靈活性。實際上,它們在大多數情況下并不是非常有用!Lambda是一種在1行中編寫一個一次性使用的函數的方法。一旦函數被多次調用,性能將受到影響。另一方面,map 可以將一個函數應用于列表中的所有元素,而 filter 能獲取集合中滿足用戶自定義條件的元素子集。
  

add_func = lambda z: z ** 2
  

is_odd = lambda z: z%2 == 1
  

multiply = lambda x,y: x*y
  

aList = list(range(10))
  

print(aList)
  

# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  

列表推導式是一個簡潔而靈活的方法,它使用靈活的表達式和條件通過其他列表來創建新列表。它用方括號來構造,帶有一個表達式或函數,只有當列表中的元素滿足某個條件時,該表達式或函數才作用于列表中的每個元素。并且,它還能用嵌套來處理嵌套列表,并且這會比使用map和filter更靈活。
  

# Syntax of list comprehension
  

[ expression(x) for x in aList if optional_condition(x) ]
  

print(list(map(add_func, aList)))
  

print([x ** 2 for x in aList])
  

# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  

# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  

print(list(filter(is_odd, aList)))
  

print([x for x in aList if x%2 == 1])
  

# [1, 3, 5, 7, 9]
  

# [1, 3, 5, 7, 9]
  

4、虛擬環境的使用
  

如果在本文介紹的5個特性中只選一個,那么就是虛擬環境的使用,它。Python 應用程序通常會用各種不同的包,這些包可能是由具有復雜依賴關系的不同開發人員開發的。每個應用程序都會用特定的庫設置,使用其他庫的版本無法實現對某個應用程序安裝包的復制。所以,不存在滿足所有應用要求的單個安裝包。
  

conda create -n venv pip python=3.7 # select python version
  

source activate venv
  

...
  

source deactivate
  

5、生成器
  

當我們想要對一個大的結果集進行計算,但又不想為所有結果數據同時分配內存時,我們就可以使用生成器了。換句話說,它會動態地生成值,并且不會將先前的值存儲在內存中,因此我們只能對它們進行一次迭代操作。當讀取大文件或使用關鍵字 yield 生成無窮數列時,通常會用它,這樣一來就能極大提高工作效率。
  

def gen(n): # an infinite sequence generator that generates integers >= n
  

while True:
  

yield n
  

n += 1
  

G = gen(3) # starts at 3
  

print(next(G)) # 3
  

print(next(G)) # 4
  

print(next(G)) # 5
  

print(next(G)) # 6
  

關于Python語言的特性就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

枣阳市| 台湾省| 大厂| 射阳县| 福清市| 钦州市| 聂荣县| 南投市| 普洱| 大理市| 东明县| 乐清市| 健康| 石屏县| 仙游县| 迁安市| 衡东县| 康保县| 简阳市| 岢岚县| 鄂伦春自治旗| 玉溪市| 长海县| 武山县| 木兰县| 五华县| 洪江市| 江永县| 双江| 海原县| 建瓯市| 石楼县| 鄂伦春自治旗| 汉源县| 洪洞县| 武邑县| 崇明县| 福贡县| 潼南县| 犍为县| 海安县|