[表示式 for 變數 in 列表] 或者 [表示式 for 變數 in 列表 if 條件]
li = [1,2,3,4,5,6,7,8,9]
print [x**2
for x in li]
print [x**2
for x in li if x>5]
print dict([(x,x*10) for x in li])
print [ (x, y) for x in range(10) if x % 2
if x > 3
for y in range(10) if y > 7
if y != 8 ]
vec=[2,4,6]
vec2=[4,3,-9]
sq = [vec[i]+vec2[i] for i in range(len(vec))]
print sq
print [x*y for x in [1,2,3] for y in [1,2,3]]
testlist = [1,2,3,4]
defmul2
(x):
return x*2
print [mul2(i) for i in testlist]
結果:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[36, 49, 64, 81]
[(5, 9), (7, 9), (9, 9)]
[6, 7, -3]
[1, 2, 3, 2, 4, 6, 3, 6, 9]
[2, 4, 6, 8]
我覺得就是通過for 語句處理表示式裡面的變數,如果還要加條件,就加if條件就可以了。 Python 列表推導
1.正常情況下,我們這樣來遍歷列表 numbers range 10 size len numbers evens i 0 while i size if i 2 0 i 1 for f in evens print f 2.當然可以用更簡單的python支援的列表推導 i for i in ran...
python 列表推導
內容 於 head first python 書籍 列表推導 list comprehension 一般列表轉換,都是用for 命令迭代列表中的每乙個資料,而 列表推導可以簡化從乙個列表轉換為另乙個列表的 例子,現在有兩個檔案 james.txt julie.txt 列印結果並排序 james.tx...
Python 列表推導
start 列表推導用來構造乙個列表,可以包含表示式,for 和 if 表示式。假設我們要生成 0 到 9 的數字列表該怎麼辦呢?很簡單,看看下面的 吧。my list list range 10 那我們要生成 0 到 9 的 2 次方列表該怎麼辦呢?也不難,可以這麼寫。my list for i ...