python 列表解析我感覺是python非常靈活的乙個地方,一開始接觸它的時候,特別是之前學過其它的語言,
你會感覺很不習慣,怎麼看怎麼不對勁,老是覺的哪個地方怪怪的,這就是列表解析的魔力所在。
python列表解析屬於python的迭代中的一種,相比python for迴圈速度會快很多。下面看下python列表解析
是怎麼工作的。
example:
a = [x+2 for x in range(10)]
print a
輸出的結果:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
下面說下上面這個例子的執行過程:
python會在直譯器裡對range(10)進行迭代,依次把列表裡的內容取出來,賦值給最左邊的x,然後執行x+2的操作,
並且把執行好的結果儲存在列表裡。等range(10)迭代完以後就新生成了乙個列表,結果就是[2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
從上面可以看出,這也是建立python 列表的乙個方法。
print a
輸出的結果:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
從上面可以看的出來,python列表解析比python for迴圈解析列表的**量會更少,解析速度會更快,寫起來也更酷,自己單獨寫
指令碼的話,會非常的簡便,但是它也有不足之處,它的可讀性不太好,特別是在團隊開發的話,適當的還是少用點,這樣通用性比較好,對大家也有好處。
如果你對python列表或者python列表操作方法 有興趣的話,可以看看!
python教程
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,...