我有 3 个列表。
values_to_add = []
values_to_remove = []
values_to_keep = []
一次仅填充一个列表。如果填充了两个列表之一,我想执行此操作:
if values_to_remove or values_to_keep:
if values_to_remove:
for value in values_to_remove:
try:
value_object.related_value.get(value=value)
except exceptions.ObjectDoesNotExist:
raise UnableToUpdate("These values are not related!")
elif values_to_keep:
for value in values_to_keep:
try:
value_object.related_value.get(value=value)
except exceptions.ObjectDoesNotExist:
raise UnableToUpdate("These values are not related!")
但是这段代码看起来很笨拙,我确信有一种更简洁的方法来编写这段代码,因为它实际上是重复的代码。有什么建议吗?
最佳答案
if values_to_remove or values_to_keep:
for value in (values_to_remove if len(values_to_remove) else values_to_keep):
try:
value_object.related_value.get(value=value)
except exceptions.ObjectDoesNotExist:
raise UnableToUpdate("These values are not related!")
关于python - 使用 'if... or' 语句迭代两个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61853205/