Python推导式

Python推导式又叫解析式,是可以从一个数据序列构建另一个新的数据序列的结构体。

共有三种推导式:列表推导式、集合推导式和字典推导式。

列表推导式

基本语法:

变量名 = [表达式 for 变量1 in 列表1 for 变量2 in 列表2]

上面相当于for循环嵌套

list1 = [i for i in range(10)]
#一个简单的列表:[0,1,2,3,4,5,6,7,8,9]

list2 = [(i, j) for i in range(1,3) for j in range(0,3)]
#列表嵌套元组:[(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]

变量名 = [表达式 for 变量 in 列表 if 条件]

list3 = [x for x in range(10) if x % 2 == 0]
#[0,2,4,6,8]

字典推导式

基本语法:

变量 = {key : value for key, value in 序列}

使用字典推导式可以快速合并列表为字典或提取字典中目标数据

dict1 = {i : i*5 for i in range(1,3)}
#一个简单的字典{1:5,2:10,3:15}

dict2 = {list1[i]:list2[i] for i in range(len(list1))}
#合并两个等长列表为一个字典

counts = {'a':268,'b':199,'c':0}
#提取value值大于200的数据
dict3 = {x : y for x, y in counts.items() if y > 200}

集合推导式

和列表推导式语法基本一致,唯一区别在于用{ }代替[ ]

最大的功能就是去重

你可能感兴趣的:(Python,python)