91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何正確的在python中使用推導式

發布時間:2021-03-01 15:08:56 來源:億速云 閱讀:125 作者:戴恩恩 欄目:開發技術

本文章向大家介紹如何正確的在python中使用推導式,主要包括如何正確的在python中使用推導式的使用實例、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。

前言

推導式提供了更簡潔高效的方法來生成序列而又不失代碼的可讀性。

定義: 推導式是 Python 里很有用的一個特性,它可以用一行代碼就可以創建一個新的序列(比如:列表,集合,字典等等)。通過這個性能,不僅可以少寫很多代碼,而且性能上也更快。

Python 里有四種推導式:

  • 列表推導式(List Comprehensions)

  • 字典推導式(Dictionary Comprehensions)

  • 集合推導式(Set Comprehensions)

  • 生成器推導式(Generator Comprehensions)

一、列表推導式(List Comprehensions)

假如你有一個列表,你想去掉該列表中的所有負數,那通常的做法使用 for 循環

numbers=[1,-2,3,-4,5]
new_nums=[]
for num in numbers:
 if num>0:
  new_nums.append(num)
print(new_nums)

輸出結果:

如何正確的在python中使用推導式

但如果我們用列表推導式來實現,那么這個過程就短得多,只需要一行代碼:

numbers=[1,-2,3,-4,5]
new_nums=[num for num in numbers if num>0]

print(new_nums)

輸出結果同上。

列表推導式的結構:

output_list = [expression for var in input_list if condition]

這里的 if condition 語句并不是必須有的。

二、字典推導式(Dictionary Comprehensions)

跟列表推導式一樣,通過同樣方式生成字典的方法,就是字典推導式。

假如你想從一個全是數字的列表來創建一個字典,列表里的數字作為 key, 數字的的字符串值作為 value, 然后再某個限制條件,最終獲得你想要的字典數據:

nums=[1,2,3,4,5,6,7,8]

dict={}
for num in nums:
 if num %2 == 0:
  dict[num] = str(num)

print(dict)

輸出結果:

如何正確的在python中使用推導式

如果我們使用字典推導式,就會簡潔的多:

nums=[1,2,3,4,5,6,7,8]
dict={num:str(num) for num in nums if num % 2 == 0}

print(dict)

輸出結果同上。

字典推導式的模板:

{key:value for (key,value) in dict if key,value satisfy condition}

三、集合推導式(Set Comprehensions)

集合推導式跟列表推導式差不多。就比如我們要把一個全是數字的列表中的奇數組成一個集合,用 for 循環的話:

numbers=[1,2,3,4,5,6,7,8]
filtered_nums=set()

for num in numbers:
  if num %2 == 0:
   filtered_nums.add(num)

print(filtered_nums)

輸出結果:

如何正確的在python中使用推導式

如果我們使用集合表達式來表示:

numbers=[1,2,3,4,5,6,7,8]
filtered_nums={num for num in numbers if num %2 == 0}

print(filtered_nums)

輸出結果同上。

注意: 集合推導式除了是使用 {} 外,其他形式都跟列表推導式一樣。

四、生成器推導式(Generator Comprehensions)

生成器推導式(或叫生成器表達式),其結構也跟列表表達式相似。

例如我們將數字列表中各項平方運算并排除奇數項:

def square_even(numbers):
  for number in numbers:
   if number % 2 == 0:
     yield (number * number)

numbers=[1,2,3,4,5,6]
square_numbers=square_even(numbers)

for number in square_numbers:
  print(number)

輸出結果:

如何正確的在python中使用推導式

使用生成器推導式顯示為:

numbers=[1,2,3,4,5,6]
square_numbers=(num *num for num in numbers if num % 2 ==0)

for number in square_numbers:
  print(number)

輸出結果同上。

注意: 生成器推導式是使用 () ,其他基本結構跟列表推導式一樣。

到此這篇關于如何正確的在python中使用推導式的文章就介紹到這了,更多相關的內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

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

AI

福建省| 碌曲县| 惠来县| 昌平区| 即墨市| 防城港市| 河津市| 农安县| 秦皇岛市| 丁青县| 敦煌市| 商都县| 龙陵县| 娄烦县| 龙口市| 江门市| 会昌县| 曲周县| 佳木斯市| 资阳市| 江油市| 彩票| 溧水县| 四会市| 大足县| 罗田县| 尉氏县| 遂川县| 惠州市| 高淳县| 元江| 临武县| 宜章县| 宝山区| 峨山| 水富县| 黄浦区| 彭阳县| 禹城市| 兴义市| 文安县|