一、字典生成式:
# keys=['name', 'age', 'gender']
# dic={key:None for key in keys}
# print(dic)
items=[('name', 'Tom'), ('age', 18), ('gender', 'male')]
res={k:v for k,v in items if k != 'gender'}
print(res)
二、集合生成式:
keys=['name', 'age', 'gender'] set1={key for key in keys} print(set1, type(set1))
三、元組生成式:(沒有)!
tr_1=(i for i in range(10)if i >5)
print(tr_1,type(tr_1))
結果:<generator object <genexpr> at 0x000002063E6C97D0> <class 'generator'>
? ? ? ?這段代碼之所以不能直接輸出 (6, 7, 8, 9)
,是因為 tr_1
是一個生成器對象,而不是一個列表或其他可以直接打印出所有元素的數據結構。生成器對象是惰性求值的,這意味著它們不會立即計算所有值,而是在迭代時才逐個產生值。