python 的列表解析list comprehension能讓語言更優雅,更可讀。多重列表解析可以將二維結構展平(flatten)。比如有乙個二維陣列字典:
>>> data =
想要拉伸成一維的線性結構,可以用二重迴圈方法:
>>> new =
>>> for key in data:
forvalue
in data[key]:
>>> new
[, , , , , , , , ]
>>>
用二維列表解析同樣可以實現,不過要注意,列表解析中的for 的順序和普通的寫法一致,而不是想象中的越外層越後面:
>>> [ for key in data for
value
in data[key]]
[, , , , , , , , ]
>>>
再看兩個二維列表的例子:
>>> data = [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
>>> new = [y for x in data for y in x]
>>> new
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>>
>>> data = [[0, 1, 2], [4, 5], [6]]
>>> new = [y for x in data for y in x]
>>> new
[0, 1, 2, 4, 5, 6]
>>>
python列表解析
列表解析是乙個列表對映出另乙個列表,它的基本形式是乙個方括號裡面包含乙個for語句對乙個iterable物件迭代 expression for target1 in iterable1 if condition1 for targetn in iterablen if conditionn 上面是列...
python 列表解析
m 1,2,3 4,5,6 7,8,9 col2 row 1 for row in m 獲取列表m的每個元素的第二個元素的值組成的列表 print col2 print row 1 1 for row in m 獲取列表m的每個元素的第二個元素 1的值組成的列表 print row 1 for ro...
Python列表解析
語法 1.expression for iter val in iterable 2.expression for iter val in iterable if cond expr l i 2 for i in range 1,11 print l 1,4,9,16,25,36,49,64,81,...