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

溫馨提示×

溫馨提示×

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

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

Python中怎么實現列表解析

發布時間:2021-06-16 15:40:42 來源:億速云 閱讀:119 作者:Leah 欄目:開發技術

Python中怎么實現列表解析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

列表解析——用來動態地創建列表

[expr for iter_var in iterable if cond_expr]

例子一:

map(lambda x: x**2, range(6))
[0, 1, 4, 9, 16, 25]
[x**2 for x in range(6)]
[0, 1, 4, 9, 16, 25]

列表解析式可以取代內建的map()函數以及lambda,而且++效率更高++。

例子二:

seq = [11, 10, 9, 8, 7, 6]
filter(lambda x: x % 2, seq)
[11, 9, 7]
[x for x in seq if x % 2]
[11, 9, 7]

例子三:

找出文本中最長的詞

# 第一個最長的詞
longest = ''
for word in text:
 if len(word) > len(longest):
  longest = word
#所有最長的詞
maxlen = max(len(word) for word in text) # 生成器表達式
[word for word in text if len(word) == maxlen] #鏈表推導式

不足:列表解析得一個不足就是必要生成所有數據,用于創建整個列表。這可能對有大量數據得迭代其有負面效應。

++解決方法++:生成器表達式,通過結合列表解析和生成器解決了這個問題。

嵌套列表推導式

例一

all_data = [[1,3,5,7,9],
   [2,4,6,8,10]]
result = []
for nums in all_data:
 temp_num = [num for num in nums if num >= 5]
 result.extend(temp_num)

嵌套列表推導式

result = [num for nums in all_data for num in nums if num >= 5]

推導式中for的部分是按嵌套順序排列的。

例二

some_tuples = [(1,2,3), (4,5,6), (7,8,9)]
flattened = [x for tup in some_tuples for x in tup]
flattened
[1,2,3,4,5,6,7,8,9]

看完上述內容,你們掌握Python中怎么實現列表解析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

凉城县| 安福县| 丹巴县| 介休市| 星座| 南部县| 天镇县| 新乐市| 博客| 当雄县| 日照市| 鄂尔多斯市| 平远县| 睢宁县| 正宁县| 漳州市| 台中县| 敦化市| 乐清市| 南充市| 澜沧| 宁武县| 怀集县| 巴南区| 乐都县| 巴彦县| 扶余县| 元阳县| 屯昌县| 若尔盖县| 甘南县| 新河县| 紫阳县| 资阳市| 新兴县| 江阴市| 安图县| 孟连| 陆丰市| 东乌珠穆沁旗| 江津市|