在 Python 的列表推导中使用 If-Elif-Else
通过这个解释,我们将了解什么是链接,以及在 Python 中如何在列表推导中应用 if-elif-else 或链接。
借助 Python 中的链接,在列表理解中使用 if-elif-else
Python 社区中一个有趣的问题是如何在列表理解中使用 if-elif-else。 我们已经知道如何在列表推导中使用 if-else,但是我们应该知道我们不可能在编写 Python 脚本时将列表推导中的每一段代码都写完。
在 Python 的列表理解中实现链接
列表理解中没有 if-elif-else 的概念,但我们可以使用链接,这将是一种替代方法。 首先,我们需要知道什么是链接。
当我们有多个条件时使用链接,例如:
if condition1:
code1
elif condition2:
code2
elif condition3:
code3
else condition4:
code4
上面的代码解释了链接的工作流不做任何事情。 这说明如果第一个条件不满足,则执行第二个条件。
如果任何条件不满足,则执行 else 块。
让我们将这些 if-elif-else 转换为链接,但当每个条件都包含一个语句时它会起作用。 要创建链接,我们将从 code1 开始并检查指令是否满足 true,然后控件将检查第二个链接,即 else code2 if condition2。
code1 if condition1 else code2 if condition2 else code3 if consition3 else condition4
这称为链接,这就是它的工作原理。
在 Python 中使用 if-elif-else 进行列表理解
让我们举个例子,跳转到 Python 脚本,看看如何应用这个场景进行链接。
假设我们有一个程序,在任何条件满足时存储状态。 在这个程序中,我们将遍历一个列表,检查几个条件,并将结果附加到一个名为 status 的空白列表中。
list= [1,0,2,-3,11,0,-1]
status=[]
for i in list:
if i >0:
status.append('Positive')
elif i <0:
status.append('Negative')
else:
status.append('Zero')
print(status)
输出:
['Positive', 'Zero', 'Positive', 'Negative', 'Positive', 'Zero', 'Negative']
我们可以把上面的代码转换成列表推导式,也就一行代码。 请记住,列表理解并不适用于每一段代码,并且不允许使用 elif 块或子句,但我们将通过链接使用 elif。
为了创建列表理解,我们将创建一个空列表并放置三个链。 我们还在上面的伪代码中查看了如何工作链接。
列表理解不允许 append()
函数,但它会附加元素本身。 我们可以通过使用链接来放置多个条件。
print(['Positive' if i > 0 else 'Negative' if i <0 else 'zero' for i in list])
输出:
['Positive', 'zero', 'Positive', 'Negative', 'Positive', 'zero', 'Negative']
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串