如何根据条件在 Python 中附加列表?
How to append a list in Python based on condition?
我在附加列表时遇到问题。以下是代码:
score_Resp = 0
score_O2Sat = 5
score_SBP = 0
score_HR = 1
score_Temp = 0
Abnormal = []
if score_Resp != 0:
Abnormal.append("Resp")
elif score_O2Sat != 0:
Abnormal.append("O2Sat")
elif score_SBP != 0:
Abnormal.append("SBP")
elif score_HR != 0:
Abnormal.append("HR")
elif score_Temp != 0:
Abnormal.append("Temp")
else:
print("Invalid Statement!")
print("Abnormal Vitals:", Abnormal)
输出:
Abnormal Vitals: ['O2Sat']
应该是:
Abnormal Vitals: ['O2Sat', 'HR']
谁能帮我看看哪里出了问题?而且,有人可以用更少的代码改进代码吗?谢谢
您不应该使用 elif
。只是简单地 ifs
来评估每个条件。
像这样:
if score_Resp != 0:
Abnormal.append("Resp")
if score_O2Sat != 0:
Abnormal.append("O2Sat")
if score_SBP != 0:
Abnormal.append("SBP")
if score_HR != 0:
Abnormal.append("HR")
if score_Temp != 0:
Abnormal.append("Temp")
elif
子句是 else if
。因此,当您的代码评估为 True
第一个时,它只会忽略其余部分。这就是您没有得到预期结果的原因。
你可以试试:
score_Resp = 0
score_O2Sat = 5
score_SBP = 0
score_HR = 1
score_Temp = 0
Abnormal = []
if score_Resp != 0:
Abnormal.append("Resp")
if score_O2Sat != 0:
Abnormal.append("O2Sat")
if score_SBP != 0:
Abnormal.append("SBP")
if score_HR != 0:
Abnormal.append("HR")
if score_Temp != 0:
Abnormal.append("Temp")
print("Abnormal Vitals:", Abnormal)
仅当您通过所有条件并想要检查它时才使用它。
score_Resp = 0
score_O2Sat = 5
score_SBP = 0
score_HR = 1
score_Temp = 0
Abnormal = []
if score_HR != 0:
Abnormal.append("HR")
if score_O2Sat != 0:
Abnormal.append("O2Sat")
if score_SBP != 0:
Abnormal.append("SBP")
if score_Resp != 0:
Abnormal.append("Resp")
if score_Temp != 0:
Abnormal.append("Temp")
print("Abnormal Vitals:", Abnormal)
我在附加列表时遇到问题。以下是代码:
score_Resp = 0
score_O2Sat = 5
score_SBP = 0
score_HR = 1
score_Temp = 0
Abnormal = []
if score_Resp != 0:
Abnormal.append("Resp")
elif score_O2Sat != 0:
Abnormal.append("O2Sat")
elif score_SBP != 0:
Abnormal.append("SBP")
elif score_HR != 0:
Abnormal.append("HR")
elif score_Temp != 0:
Abnormal.append("Temp")
else:
print("Invalid Statement!")
print("Abnormal Vitals:", Abnormal)
输出:
Abnormal Vitals: ['O2Sat']
应该是:
Abnormal Vitals: ['O2Sat', 'HR']
谁能帮我看看哪里出了问题?而且,有人可以用更少的代码改进代码吗?谢谢
您不应该使用 elif
。只是简单地 ifs
来评估每个条件。
像这样:
if score_Resp != 0:
Abnormal.append("Resp")
if score_O2Sat != 0:
Abnormal.append("O2Sat")
if score_SBP != 0:
Abnormal.append("SBP")
if score_HR != 0:
Abnormal.append("HR")
if score_Temp != 0:
Abnormal.append("Temp")
elif
子句是 else if
。因此,当您的代码评估为 True
第一个时,它只会忽略其余部分。这就是您没有得到预期结果的原因。
你可以试试:
score_Resp = 0
score_O2Sat = 5
score_SBP = 0
score_HR = 1
score_Temp = 0
Abnormal = []
if score_Resp != 0:
Abnormal.append("Resp")
if score_O2Sat != 0:
Abnormal.append("O2Sat")
if score_SBP != 0:
Abnormal.append("SBP")
if score_HR != 0:
Abnormal.append("HR")
if score_Temp != 0:
Abnormal.append("Temp")
print("Abnormal Vitals:", Abnormal)
仅当您通过所有条件并想要检查它时才使用它。
score_Resp = 0
score_O2Sat = 5
score_SBP = 0
score_HR = 1
score_Temp = 0
Abnormal = []
if score_HR != 0:
Abnormal.append("HR")
if score_O2Sat != 0:
Abnormal.append("O2Sat")
if score_SBP != 0:
Abnormal.append("SBP")
if score_Resp != 0:
Abnormal.append("Resp")
if score_Temp != 0:
Abnormal.append("Temp")
print("Abnormal Vitals:", Abnormal)