Python之字典生成式

                                            字典生成式示例

创新互联公司,为您提供网站建设公司成都网站制作、网站营销推广、网站开发设计,对服务成都会所设计等多个行业拥有丰富的网站建设及推广经验。创新互联公司网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

一、例如生成字典{'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}

四、双重循环,嵌套if

d = {}
# 双重for in循环,嵌套if
for i in range(1,4):
    for n in range(1,4):
        if n < 3:
           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}

网站标题:Python之字典生成式
分享地址:http://myzitong.com/article/jcphih.html