guodong's blog

master@zhejiang university
   

python各种推导式

推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:
列表(list)推导式
字典(dict)推导式
集合(set)推导式

1、列表推导式

1.1 使用[]生成列表

基本格式:​[表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件]

列表推导式总共有两种形式:

  1. [x for x in data if condition]
    此处if主要起条件判断作用,data数据中只有满足if条件的才会被留下,最后统一生成为一个数据列表
  2. [exp1 if condition else exp2 for x in data]
    此处if…else主要起赋值作用,当data中的数据满足if条件时将其做exp1处理,否则按照exp2处理,最后统一生成为一个数据列表

1.2 使用()生成generator

将俩表推导式的[]改成()即可得到生成器。

2、字典推导式

字典推导和列表推导的使用方法是类似的,只是中括号该改成大括号。

3、集合推导式

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

附录:难点表达式理解

[x in list_A  for x in list_B]

返回的是bool类型的列表,比如

则返回结果为




上一篇:
下一篇:

头像

guodong

说点什么

avatar
  Subscribe  
提醒