精讲列表推导式

精讲列表推导式

Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成“列表推导式”,也有人翻译成“列表解析式”。名字听上去很难理解,但是看它的语法就很清晰了。虽然名字叫做 list comprehension,但是这个语法同样适用于dict、set等这一系列可迭代(iterable)数据结构

列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层

list1 = [i**2 for i in range(0, 6)]
print(list1)

输出:
[0, 1, 4, 9, 16, 25]

如果是tuple:

tuple1 = (i **2 for i in range(0, 6))
print(tuple1)

输出:<generator object at 0x0000017F2FA21480>

for item in tuple1:
    print(item)

输出:
0

1

4

9

16

25

如果是集合(set):

set1 = {i **2 for i in range(0,6)}
print(set1)

输出: {0, 1, 4, 9, 16, 25}

如果是字典(dict)

values = [i for i in range(5)]
keys = ['a', 'b', 'c', 'd', 'e']
dict1 = {key: value for key, value in zip(keys,values)} 
print(dict1)

输出:
{‘a’: 0, ‘b’: 1, ‘c’: 2, ‘d’: 3, ‘e’: 4}

相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页