Python之字典生成式
釋出時間:2020-03-03 20:50:15
來源:51CTO
閱讀:332
作者:丁香花下
字典生成式示例
一、例如生成字典{'java': 89, 'python': 90, 'perl': 91}b = ['java','python','perl']
s = [89,90,91]
d = {}
# for in 循環
for i,j in zip(b,s):
d[i] = j
print(d) #{'java': 89, 'python': 90, 'perl': 91}
# 字典生成式
d = {i:n for i,n in zip(b,s)}
print(d) #{'java': 89, 'python': 90, 'perl': 91}
二、添加if判斷d = {}
for i,n in zip(b,s):
if n >= 90:
d[i] = n
print(d) #{'python': 90, 'perl': 91}
d = {i:n for i,n in zip(b,s) if n >=90 }
print(d) #{'python': 90, 'perl': 91}
三、雙重循環d = {}
#雙重for in 循環
for i in range(1,4):
for n in range(1,4):
d[i] = n
print(d) #{1: 3, 2: 3, 3: 3} 因為key唯一,後面的key:value都被1:3 2:3 3:3覆寫掉了
# 字典生成式
d = {i:n for i in range(1,4) for n in range(1,4)}
print(d) # {1: 3, 2: 3, 3: 3}
四、雙重循環,嵌套ifd = {}
# 雙重for in循環,嵌套if
for i in range(1,4):
for n in range(1,4):
if n
d.update([(i,n)])
print(d) #{1: 2, 2: 2, 3: 2}
# 字典生成式
d = {i:n for i in range(1,4) for n in range(1,4) if n <3}
print(d) #{1: 2, 2: 2, 3: 2}