在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 但是迴圈太繁瑣...