天天看點

python字典生成式_Python之字典生成式

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}