📅  最后修改于: 2023-12-03 15:37:08.838000             🧑  作者: Mango
在 Python中,列表推导式和字典推导式是十分有用的工具,可以帮助我们简洁地生成列表和字典。而在这两种推导式中,都可以使用 if
语句来筛选出符合条件的元素。但有时候我们需要生成的列表或字典中,出现不符合条件的默认值,这时候就需要用到 else
语句了。在这里,我们来介绍一下如何在列表推导式和字典推导式中使用 else
语句。
列表推导式中使用 else
语句,可以让我们在筛选不符合条件的元素时,同时生成一个默认值。下面是一个例子:
x = [1, 2, 3, 4, 5]
y = [i if i % 2 == 0 else 0 for i in x]
print(y) # [0, 2, 0, 4, 0]
在这个例子中,我们使用列表推导式生成了一个新的列表 y
,其中每个偶数都被保留,每个奇数都被替换成了 0
。
字典推导式中使用 else
语句的方式与列表推导式类似。下面是一个例子:
x = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
y = {k: v if v % 2 == 0 else 0 for k, v in x.items()}
print(y) # {'a': 0, 'b': 2, 'c': 0, 'd': 4, 'e': 0}
在这个例子中,我们使用字典推导式生成了一个新的字典 y
,其中每个偶数都被保留,每个奇数都被替换成了 0
。
需要注意的是,在字典推导式中,不能直接使用 else
语句,而是要使用 if
和 else
语句的三目运算符形式。具体来说,在字典推导式中,每个元素由两个部分组成:键和值。我们需要对键值对中的值进行判断,只有符合条件的才会保留。其中的语法是:
{k: v1 if condition else v2 for k, v1 in dict.items()}
其中,k
是键,v1
是值,condition
是一个布尔表达式,v2
是默认值。
以上就是关于在 Python 中使用 else
语句的介绍。在使用列表推导式和字典推导式时,使用 else
语句可以让我们更加灵活地生成列表和字典。