如果我们有一个列表,并希望抽取列表中的元素,那么最标准的方法是使用python循环,但是我们也可以直接通过列表推导式,因为它需一行代码就能搞定所有操作。当然,抽取列表元素的前提是,我们要理解列表是一种可迭代对象,它允许依次读取不同的元素。如果你还在使用 For 循环迭代列表,那么你需要了解了解列表推导式。
一、列表推导式
列表解析式(List comprehension)或者称为列表推导式,提供了一种创建list的简便方法。应用程序创建列表时,列表中的元素来源于其他序列、可迭代对象或创建的一个满足一定条件的序列。
二、书写形式
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]
三、使用
1、通过判断语句筛选列表元素
In [6]: list_if = [i for i in range(1, 10) if i%2 == 0] In [7]: list_if Out[7]: [2, 4, 6, 8]
2、嵌套列表推导式
推导式中for的部分是按嵌套顺序排列的。
result = [num for nums in all_data for num in nums if num >= 5]
实例:
some_tuples = [(1,2,3), (4,5,6), (7,8,9)] flattened = [x for tup in some_tuples for x in tup] flattened [1,2,3,4,5,6,7,8,9]
列表推导式可以基于现有的列表做一些操作,从而快速创建新列表。这种方法非常炫酷,因此写列表推导式是非常爽的一件事,快用起来吧~