Cau*_*tic 4 python syntax list
我知道你可以在python中做这样的事情:
>>> conditional = False
>>> x = [1 if conditional else 2, 3, 4]
[ 2, 3, 4 ]
Run Code Online (Sandbox Code Playgroud)
但我怎么做这样的事呢?
>>> conditional = False
>>> x = [1 if conditional, 3, 4]
[ 3, 4 ]
Run Code Online (Sandbox Code Playgroud)
也就是说,我不想替换1另一个数字.如果conditional是假的话,我想简单地省略它.
Mar*_*ers 11
使用连接:
x = ([1] if conditional else []) + [3, 4]
Run Code Online (Sandbox Code Playgroud)
换句话说,生成一个子列表,该子列表中包含可选元素,或者为空.
演示:
>>> conditional = False
>>> ([1] if conditional else []) + [3, 4]
[3, 4]
>>> conditional = True
>>> ([1] if conditional else []) + [3, 4]
[1, 3, 4]
Run Code Online (Sandbox Code Playgroud)
当然,这个概念也适用于更多元素:
x = ([1, 2, 3] if conditional else []) + [4, 5, 6]
Run Code Online (Sandbox Code Playgroud)