如何根据if语句的结果缩短附加到不同列表的时间

fox*_*ale 5 python refactoring list

知道是否可以简化和美化该代码(一个额外的变体假定嵌套的if-else条件和更多列表)?

some_list, some_other_list = [], []
if condition:
    some_list.append(value)
else:
    some_other_list.append(value)
Run Code Online (Sandbox Code Playgroud)

meo*_*dog 9

三元表达式:

(some_list if condition else some_other_list).append(value)
Run Code Online (Sandbox Code Playgroud)

说明:

>>> condition = True
>>> ("A" if condition else "B")
A

>>> condition = False
>>> ("A" if condition else "B")
B
Run Code Online (Sandbox Code Playgroud)

  • 不错,赞成,应该是公认的答案,但做一个解释会更好。 (2认同)

and*_*ari 5

我认为您可以使用三元。

some_list.append(value) if condition else some_other_list.append(value)
Run Code Online (Sandbox Code Playgroud)