您是否知道是否可以简化和美化这个代码(一个额外的变体假设嵌套的if-else条件和更多列表)?
some_list, some_other_list = [], []
if condition:
some_list.append(value)
else:
some_other_list.append(value)
答案 0 :(得分:9)
三元表达式:
(some_list if condition else some_other_list).append(value)
说明:
>>> condition = True
>>> ("A" if condition else "B")
A
>>> condition = False
>>> ("A" if condition else "B")
B
答案 1 :(得分:5)
我认为您可以使用三元。
some_list.append(value) if condition else some_other_list.append(value)
答案 2 :(得分:0)
有一些变化:
(condition and some_other_list or some_list).append(value)
OR :
对于低于2.5的Python版本,采用Tuple / lambda方法:
((lambda: some_other_list.append(value), lambda: some_list.append(value))[condition]())
说明:
condition = True
some_list = []
some_other_list = []
value = 5
((lambda: some_other_list.append(value), lambda: some_list.append(value))[condition]())
print(some_list) # 5
print(some_other_list)