我有一个数组,我需要检查一个特定的值。如果List中存在该值,我需要能够将其返回到List之外的变量。在这种情况下,我想查看列表中的任何值是否已“预订”。如果列表中的所有值都“可用”,则可用性应为“可用”,但如果一个或多个值已“预订”,则可用性需要“预订”
array = ['booked','available','available']
availability = 'available'
for id in array:
temp_avail = id
if temp_avail == 'available':
global availability
availability = 'available'
elif temp_avail == 'booked' or availability == 'booked':
global availability
availability = 'booked'
else:
global availability
availability = 'error'
print(availability)
答案 0 :(得分:4)
你在这里不需要global
;你在模块层面工作。
您只需将内置all
与 ternary operator 一起使用即可:
availability = 'available' if all(i=='available' for i in array) else 'booked'
all
会检查列表中的所有项目是否为available
,而三元组会根据all
表达式的真实性返回分配值