backTop

Python 列表生成式和字典生成式

1. 列表生成式

未使用生成式

alist = []
for i in range(1,11):
    if (i % 2 == 0):
        alist.append(i)
print(alist)

# 输出结果
[2, 4, 6, 8, 10]

使用生成式

alist = [i for i in range(1,11) if( i%2==0 )]
print(alist)

# 输出结果
[2, 4, 6, 8, 10]

2. 字典生成式

未使用生成式

adict={}
for i in range(1,11):
    adict[i] = f'This is {i}'

print(adict)

# 输出结果
{1: 'This is 1', 2: 'This is 2', 3: 'This is 3', 4: 'This is 4', 5: 'This is 5', 6: 'This is 6', 7: 'This is 7', 8: 'This is 8', 9: 'This is 9', 10: 'This is 10'} 

使用生成式

adict={i:f'This is {i}' for i in range(1,11)}
print(adict)

# 输出结果
{1: 'This is 1', 2: 'This is 2', 3: 'This is 3', 4: 'This is 4', 5: 'This is 5', 6: 'This is 6', 7: 'This is 7', 8: 'This is 8', 9: 'This is 9', 10: 'This is 10'} 

 

posted @ 2020-09-02 22:36  ooops!  阅读(344)  评论(0编辑  收藏  举报