python六之列表生成式

2021-08-07 19:23:44 字數 626 閱讀 9592

在python中,我們可以利用range使列表更快捷的生成一些資料,例如:

執行a=[ i for i in range(1,18)]

生成a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]

執行a=[11  for i in range(1,18)]    #for後面沒有冒號!!!!!!

生成a=[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11]

這就是列表生成式,但是相對python3,python2有乙個風險,那就是乙個列表先被生成才能用其中的資料,但是容易佔據特別大的空間,而python3進行了改進,就是什麼時候要那個資料,這個列表臨時再生成這個資料,這樣便不會佔據巨大的空間。

列表生成式中還可以加入if,例如:

執行c=[i for i in range(10) if  i%2==0]    #for後面沒有冒號!!!!

生成c=[0,2,4,6,8]

或執行c=[(i,j) for i in range(3) for j in range(2)]

生成c=[(0,0),(0,1),(1,0),(1,1),(2,0),(2,1)]

三個變數及以上變數以此類推。

Python之列表生成式

列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。1 生成list 1,2,3,4,5,6,7,8,9,10 print list range 1,11 2 生成 1x1,2x2,3x3,10x10 方法一 用迴圈 l for x ...

python之列表生成式

生成乙個 1 1,2 2,3 3,4 4,10 10 的列表 方法一l1 for i in range 1,11 print l1 2,4,6,8,10,12,14,16,18,20 方法二l2 x x for x in range 1,11 print l2 2,4,6,8,10,12,14,16...

python之列表生成式

一 生成列表 要生成list 1,2,3,4,5,6,7,8,9,10 我們可以用range 1,11 range 1,11 1,2,3,4,5,6,7,8,9,10 但如果要生成 1x1,2x2,3x3,10x10 怎麼做?方法一是 迴圈 l for x in range 1,11 但是迴圈太繁瑣...