Python 列表推導

2021-08-28 08:12:31 字數 1003 閱讀 2213

– start

列表推導用來構造乙個列表,可以包含表示式,for 和 if 表示式。

假設我們要生成 0 到 9 的數字列表該怎麼辦呢?很簡單,看看下面的**吧。

my_list = list(range(10))
那我們要生成 0 到 9 的 2 次方列表該怎麼辦呢?也不難,可以這麼寫。

my_list = 

for i in range(10):

事實上,還有更簡單的方法。

my_list = [i ** 2 for i in range(10)]
這就是傳說中的列表推導,我們還可以給列表推導加上 if 表示式

my_list = [i ** 2 for i in range(10) if i != 0]
我們還可以使用函式。

my_list = [abs(i) for i in range(-10, 0)]
我們還可以生成二維列表。

my_list = [(i, i**2) for i in range(10)]
下面我們看乙個更複雜的例子。

my_list = [(x, y) for x in ['a', 'b'] for y in [1, 2]]
怎麼樣?看不懂?和下面的**是等價的。

my_list = 

for x in ['a', 'b']:

for y in [1, 2]:

事實上,上面的語法也可以用在集合推導上。

my_set = 

print(my_set)

事實上,上面的語法也可以用在字典推導上。

my_dict = 

print(my_dict)

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列表推導

表示式 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...