使三元运算符返回列表中的空/忽略项

时间:2017-06-13 14:43:46

标签: python python-3.x

我想基于条件构造一个包含一个可选元素的列表。例如,我希望['a','b','c','d','e'] has_b==True['a','c','d','e'] has_b==False。如果我想使用三元表达式,我该怎么办:['a', ('b' if has_b else ???),'c','d','e']

2 个答案:

答案 0 :(得分:4)

您可以使用

['a','b','c','d','e'] if has_b else ['a','c','d','e']

['a'] + (['b'] if has_b else []) + ['c','d','e']

答案 1 :(得分:2)

试试这个:

['a'] + (['b'] if has_b else []) + ['c','d','e']