我是否可以选择在列表中包含一个元素而在python中没有else语句?

发布于 2021-01-29 14:57:25

我知道您可以在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错误,我想简单地忽略它。

关注者
0
被浏览
80
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    使用串联:

    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]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看