Python 各种推导式

列表推导式

列表推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的列表

列表推导式的语法格式如下:

[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ]

例、

>>> list=[x**2 for x in range(10) if x%2==0]
>>> list
[0, 4, 16, 36, 64]

多层推导式;

>>> list=[(x,y) for x in range(5) for y in range(5) if x%2==0 if y%2!=0]
>>> list
[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]

字典推导式

字典推导和列表推导的使用是类似。例、

>>> dict={"a":3,"b":5}
>>> dict2={k:v**2 for k,v in dict.items()}
>>> dict2
{"a": 9, "b": 25}
>>> dict={"a":3,"b":5}
>>> dict2={v:k for k,v in dict.items()}
>>> dict2
{3: "a", 5: "b"}

集合推导式

集合推导式与字典推导式类似。例、

>>> set={x**2 for x in {1,2,3}}
>>> set
{1, 4, 9}

参考

朝阳的向日葵

文章目录