我知道你可以用python做这样的事情:
>>> conditional = False
>>> x = [1 if conditional else 2, 3, 4]
[ 2, 3, 4 ]
但我该怎么做呢?
>>> conditional = False
>>> x = [1 if conditional, 3, 4]
[ 3, 4 ]
也就是说,我不想用
1
代替另一个数字。如果conditional
为false,我只想省略它。 最佳答案
使用串联:
x = ([1] if conditional else []) + [3, 4]
换句话说,生成一个子列表,该子列表要么包含可选元素,要么为空。
演示:
>>> conditional = False
>>> ([1] if conditional else []) + [3, 4]
[3, 4]
>>> conditional = True
>>> ([1] if conditional else []) + [3, 4]
[1, 3, 4]
当然,这个概念也适用于更多元素:
x = ([1, 2, 3] if conditional else []) + [4, 5, 6]