当您想要基于现有列表的值创建新列表时,列表推导提供更短的语法。
例子:
基于水果列表,您需要一个新列表,其中仅包含名称中带有字母 "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 = [
expression for
item in
iterable if
condition == True]
返回值是一个新列表,保持旧列表不变。
这个条件就像一个过滤器,只接受评估的项目True
。
条件if x != "apple"将返回True
对于除 "apple" 之外的所有元素,使新列表包含除 "apple" 之外的所有水果。
这个条件是可选的,可以省略:
这个可迭代的可以是任何可迭代对象,例如列表、元组、集合等。
相同的示例,但有一个条件:
这个表达是迭代中的当前项,但它也是结果,您可以在它像新列表中的列表项一样结束之前对其进行操作:
您可以将结果设置为您喜欢的任何结果:
这个表达还可以包含条件,不像过滤器,而是作为操纵结果的一种方式:
这个表达在上面的例子中说:
"Return the item if it is not banana, if it is banana return orange"。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!