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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python中的列表生成式_Python中的列表生成式

發布時間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的列表生成式_Python中的列表生成式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

列表生成式

拋出一個問題,創建一個從1到100的列表,該怎么寫:

while

li = []

i = 1

while i <= 100:

li.append(i)

i += 1

print(li)

for

li = []

for i in range(1,101):

li.append(i)

print(li)

關于range()用法特別類似于切片操作,是用來生成列表的,在Python2中,返回的是列表,而且如果指定了一個特別大的列表,占用內

存會很高。

但是在Python3中,range()返回的不再是列表,并且只有在需要的時候在生成對應的列表,從而解決了Python2中的問題。

用法

li = [i for i in range(1,10)]

print(li) # [1, 2, 3, 4, 5, 6, 7, 8, 9]

上述例子就是一個列表生成式,其中最左邊的這個i代表著每次插入列表的值,而后面的for i in range(1,10)則代表著這個列表循環插值多少次,即列表長度。

li2 = [1 for i in range(1,10)]

print(li2) # [1, 1, 1, 1, 1, 1, 1, 1, 1]

這次插入的值為固定值1,所以li2為上例輸出的結果。

列表生成式中也可以通過if來進行篩選:

li3 = [i for i in range(1,10) if i%2 ==0]

print(li3) # [2, 4, 6, 8]

通過if 篩選了偶數項

同時列表生成式還支持循環嵌套:

li4 = [i for i in range(3) for j in range(2)]

print(li4) # [0, 0, 1, 1, 2, 2]

兩層嵌套,可以寫的更直觀一點,插入一個元祖看一下:

li5 = [(i,j) for i in range(3) for j in range(2)]

print(li5) # [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]

但是不建議超過三層嵌套

總結

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

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