Python 入门 07 —— 推导式、生成器、解包

一、推导式
推导式其实是循环语句一个简写,以用于快捷地生成列表、元组、字典和集合。例如:

lst1 = [x for x in range(5)]
lst2 = tuple([x for x in range(5)])
lst3 = {x:chr(65+x) for x in range(5)}
lst4 = {x for x in range(5)}
print(lst1,lst2,lst3,lst4)
# [0, 1, 2, 3, 4] (0, 1, 2, 3, 4) {0:‘A’, 1:‘B’, 2:‘C’, 3:‘D’, 4:‘E’} {0, 1, 2, 3, 4}

推导式第一部分是一个运算式,可以有函数,运算的结果就作为序列的一个元素。不断的循环,不断地产生元素,所以元素构成一个序列。

1、推导式的后面部分是一个简写的循环语句,这个循环语句还可以嵌套。例如:

lst1 = [str(x)+’-’+str(y) for x in range(5) for y in range(2)]
lst2 = [str(x)+’-’+str(y) for x in range(5) for y in range(x)]
print(lst1,lst2,sep=’\n’)
# [‘0-0’, ‘0-1’, ‘1-0’, ‘1-1’, ‘2-0’, ‘2-1’, ‘3-0’, ‘3-1’, ‘4-0’, ‘4-1’]
# [‘1-0’, ‘2-0’, ‘2-1’, ‘3-0’, ‘3-1’, ‘3-2’, ‘4-0’, ‘4-1’, ‘4-2’, ‘4-3’]

2、在推导式的最后面还可以加一个 if 语句来过滤元素。例如:

lst1 = [x**2 for x in range(10) if x&

你可能感兴趣的:(Python,python,生成器,generator,区块链,比特币)