python 推导式

推导式是从一个或多个迭代器快速简洁地创建数据结构的一种方法。可以将循环和条件判断相结合,避免冗长的代码。

1、列表推导式

#[expression for item in iterable]
number_list=[number for number in range(1,6)]
#[expression for item in iterable if condition]
a_list=[number for number in range(1,6) if number%2==1]
rows=range(1,4)
cols=range(1,3)
cells=[(row,col) for row in rows for col in cols]

2、字典推导式

#{key_expression : value_expression for expression in iterable}
word='letters'
letter_counts={letter:word.count(letter) for letter in word}
letter_counts2={letter:word.count(letter) for letter in set(word)}

3、集合推导式

#{expression for expression in iterable}
a_set={number for number in range(1,6) if number%3==1}

4、生成器推导式

注意,元组没有推导式。圆括号之间的是生成器推导式,返回一个生成器对象。

可以直接对生成器对象迭代,但是一个生成器只能运行迭代一次,可以通过list()函数生成列表。

number_thing=(number for number in range(1,6))
>>>type(number_thing)
<class 'generotor'>

 

posted @ 2019-03-12 11:40  萌萌的美男子  阅读(134)  评论(0编辑  收藏  举报