日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python的列表推导式

發布時間:2025/3/20 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python的列表推导式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
列表推導式是Python基礎,好用,而又非常重要的功能,也是最受歡迎的Python特性之一,可以說掌握它是成為合格Python程序員的基本標準。本質上可以把列表推導式理解成一種集合了變換和篩選功能的函數,通過這個函數把一個列表轉換成另一個列表。注意是另一個新列表,原列表保持不變。看示例:(1)對列表中的每項元素進行立方運算(變換功能)a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [x ** 3 for x in a]
print(a)
print(b)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000](2)對列表中為偶數的元素進行立方運算(帶篩選條件的變換功能)a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [x ** 3 for x in a if x % 2 == 0]
print(b)[8, 64, 216, 512, 1000]
? ? ? ?從結果上可以看出有篩選條件的話是先篩選再變換,即先篩掉不滿足條件的元素,再進行變換運算。可以同時加多個篩選條件,如對大于5的且是偶數的元素進行立方運算,示例如下:a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [x ** 3 for x in a if x % 2 == 0 if x > 5]
print(b)[216, 512, 1000]
(3)與zip結合? ? ? ?將a,b兩個列表中相對應得值組合起來,形成一個新列表。例如包含x坐標的列表與y坐標的列表形成相對應的點坐標[x, y]列表。a = [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
xy = [[x, y] for x, y in zip(a, b)]
print(xy)[[-1, 1], [-2, 2], [-3, 3], [-4, 4], [-5, 5], [-6, 6], [-7, 7], [-8, 8], [-9, 9], [-10, 10]](4)支持多層for循環
? ? ? ?將一個嵌套列表轉換成一個一維列表。a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
b = [j for i in a for j in i]
print(b)[1, 2, 3, 4, 5, 6, 7, 8, 9]
? ? ? ?Python中還有字典推導式、集合推導式等,與列表推導式使用方式大致相同。? ? ? ?列表推導式的使用非常廣泛,從實際使用經驗來看,列表推導式使用的頻率是非常高的,也是相當好用的。而對于列表推導式的多層for循環,尤其是3層以上的或帶復雜篩選條件的,犧牲了較多的可讀性,直接用多個普通for循環方式實現就可以了,畢竟方便的實現功能是第一位的,多幾行代碼就多幾行吧。 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Python的列表推导式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。