列表推導是一種從其他列表建立列表的方式,類似於數學中的集合推導。
列表推導的使用方式非常簡單,有點類似於for迴圈。
>>> [x * x for x in range(10)][0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
如果想列印那些能被3整除的平方值呢?這時候可以在列表推導中新增一條if語句:
>>> [x * x for x in range(10) if x % 3 ==0][0, 9, 36, 81]
還可新增多層for迴圈(三層和三層以上的迴圈很少用到):
>>> [(x, y) for x in range(3) for y in range(3)][(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
運用列表生成式,可以寫出非常簡潔的**。
>>> d =>>> [k + '
=' + v for k, v in
d.items()]['
x=a', '
y=b', '
z=c']
>>> l = ['hello
', '
world
', '
ibm', '']
>>> [s.lower() for s inl][
'hello
', '
world
', '
ibm', '
']
Python自學筆記 11 列表推導
用到函式的乙個常見操作是將其用於乙個列表的所有項,並使用結果來建立乙個新的列表。如果我們要生成list 1,2,3,4,5,6,7,8,9,10 能用哪種方法呢?當然最基礎的方法可以參見列表 上 但是,這種只適合項比較少的一些場景,現在我們要生成1到999的列表怎麼辦呢?list range 1,1...
Python 入門 11 列表推導式
系統 windows 7 語言版本 anaconda3 4.3.0.1 windows x86 64 編輯器 pycharm community 2016.3.2 已知列表x,對列表中每乙個元素 2,求新列表 傳統方法 我們可以新建乙個列表,對原列表進行迴圈操作,計算後的元素寫入新列表 這種寫法,功...
python3基礎 06 列表
3list.extend seq 在列表末尾一次性追加另乙個序列中的多個值 用新列表擴充套件原來的列表 5list.insert index,obj 將物件插入列表 空列表可以簡單地通過兩個中括號進行表示 一裡面什麼東西都沒有,但是,如果想建立乙個占用十個元素空間,卻不包括任何有用內容的列表,又該怎...