通過生成式可以更加簡潔地生成列表和字典
列表生成式
對比
直接生成資料後加入列表示例:
user_list =
list()
for i in
range(10
):2)
print
(user_list)
通過列表生成式直接生成示例:
user_list =
[x **
2for x in
range(10
)]print
(user_list)
輸出結果相同:
[0,
1,4,
9,16,
25,36,
49,64,
81]
通過列表生成式的方法明顯簡潔許多
其他示例
列表生成式中還可以使用 if 語句
獲取原始列表中大於 5 的數示例:
'''
'''original_list =[1
,2,3
,4,5
,6,7
,8]user_list =
[x for x in original_list if x >5]
print
(user_list)
輸出結果:
[6,
7,8]
字典生成式
字典生成式類似於列表生成式
對比
直接生成資料後加入列表示例:
'''
'''user_dict =
dict()
for i in
range(10
):user_dict[i]
= i **
2print
(user_dict)
通過字典生成式直接生成示例:
user_dict =
print
(user_dict)
輸出結果相同:
其他示例
字典生成式同樣可以使用 if 語句
獲取原始字典中值為奇數的鍵值對示例:
original_dict =
user_dict =
print
(user_dict)
python 列表生成式,字典生成式
生成乙個列表,列表元素分別為 1 1,2 2.9 9 import math li for i in range 1,10 print li print i i for i in range 1,10 print i i for i in range 1,10 if i 2 0 找出1 10之間的所...
Python列表生成式 集合生成式 字典生成式練習
列表生成式 1 生成乙個列表,列表元素分別為 12,22,32,n2 2 找出1 10之間的所有偶數,並返回乙個列表 包含以這個偶數為半徑的圓的面積 3 找出1 100之間所有的質數 def isprime num for i in range 2,num if num i 0 return fal...
Python入門之列表生成式 字典生成式
1.非列表生成式 2.列表生成式 s 51 5000 10000 li int item for item in s.split print li 練習1 輸出 1 1 2 2 9 9 方法一 li for i in range 1,10 print li 方法二 列表生成器 print i i f...