Python3——列表推導式,字典推導式,集合推導式

# 1. 列表推導式
print('*'*10, '列表推導式', '*'*10)
# 使用[]生成list
multiples = [i for i in range(30) if i % 3 is 0]
print(multiples)  # [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
# 使用()生成generator
multiples = (i for i in range(30) if i % 3 is 0)
print(type(multiples))  # <class 'generator'>

# 2.字典推導式
print('*'*10, '字典推導式', '*'*10)
dic_num = {'一': 1, '二': 2, '三': 3, '四': 4}
d = {dic_num.get(k, 0) for k in dic_num.keys() if k == '四'}
print(d)

kv = {v: k for k, v in dic_num.items()}
print(kv)

# 3.集合推導式
print('*'*10, '集合推導式', '*'*10)
squared = {x**2 for x in [1, 1, 2]}
print(squared)
print(type(squared))

結果:
********** 列表推導式 **********
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
<class 'generator'>
********** 字典推導式 **********
{4}
{1: '一', 2: '二', 3: '三', 4: '四'}
********** 集合推導式 **********
{1, 4}
<class 'set'>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章