gpt4 book ai didi

python - 如何避免 python 中的多个 flat if 条件?

转载 作者:行者123 更新时间:2023-11-28 22:31:36 25 4
gpt4 key购买 nike

考虑片段:

def check_conditions(range_of_numbers):
#method returns a list containing messages
list1 = []
if condition1:
list1.append("message1")
if condition2:
list1.append("message2")
if condition3:
list1.append("message3")
try:
for i in range_of_numbers:
int(i)
except ValueError:
list1.append("message4")
return message

我只想在满足条件的情况下在消息中包含一个列表。我不使用多个 if,因为它增加了代码的复杂性,并且每次添加新参数时我最终都会添加一个新的 if 条件。

最佳答案

例如,只循环条件/消息对:

for condition,message in ((condition1,"message1"),(condition2,"message2"),(condition3,"message3")):
if condition:
list1.append(message)

如果条件是排他性的,考虑在一个条件匹配时添加一个break

列表理解版本(更“pythonic”但不可能在第一个条件匹配时中断):

list1 = [message for condition,message in ((condition1,"message1"),(condition2,"message2"),(condition3,"message3")) if condition]

关于python - 如何避免 python 中的多个 flat if 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41501833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com