Python推导式

推导式(又称解析式)是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。一共有三种推导式:

  • 列表(list)推导式
  • 字典(dict)推导式
  • 集合(set)推导式

列表推导式

列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。

它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表,在这个以if和for语句为上下文的表达式运行完成之后产生。

规范形式

1
variable = [out_exp for out_exp in input_list if out_exp == 2]

不使用列表推导式的例子

{cmd
1
2
3
a = []
for x in range(10):
a.append(x**2)
1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

列表推导式例子

{cmd
1
a = [x**2 for x in range(10)]
1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

字典推导式

字典推导和列表推导的使用方法是类似的。

快速对换一个字典的键和值的例子

{cmd
1
2
3
a_dict = {'a': 10, 'b': 34}

b_dict = {v: k for k, v in a_dict.items()}
1
{10: 'a', 34: 'b'}

集合推导式

集合推导式跟列表推导式也是类似的。 唯一的区别在于它们使用大括号{}。

{cmd
1
a = {x**2 for x in [1, 1, 2]}
1
{1, 4}

参考

赞赏一杯咖啡
0%