Python - 列表推导
列表推导
列表推导提供了一种更简洁的语法,用于根据现有列表的值创建一个新的列表。
示例
基于水果列表,你需要一个新的列表,只包含名称中包含字母 "a" 的水果。
如果不使用列表推导,你需要编写一个带有条件测试的 for
语句
示例
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits
if "a" in x
newlist.append(x)
print(newlist)
自己试一试 »
使用列表推导,你只需一行代码就能完成所有操作
示例
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if "a" in x]
print(newlist)
自己试一试 »
语法
newlist = [表达式 for 项目 in 可迭代对象 if 条件 == True]
返回值是一个新的列表,不会改变旧列表。
条件
条件就像一个过滤器,只接受评估为 True
的项目。
条件 if x != "apple" 将对除了 "apple" 之外的所有元素返回 True
,使新列表包含除了 "apple" 之外的所有水果。
条件是可选的,可以省略
可迭代对象
可迭代对象可以是任何可迭代对象,例如列表、元组、集合等。
相同的示例,但带有条件
表达式
表达式 是迭代中的当前项,但它也是结果,您可以在它成为新列表中的列表项之前进行操作
您可以将结果设置为任何您喜欢的
表达式 也可以包含条件,不像过滤器,而是作为操作结果的一种方式
上面的示例中的 表达式 表示
"如果该项不是 banana,则返回该项;如果该项是 banana,则返回 orange"。