Can I optionally include one element in a list without an else statement in python?

前端 未结 4 573
闹比i
闹比i 2020-12-20 18:00

I know you can do something like this in python:

>>> conditional = False
>>> x = [1 if conditional else 2, 3, 4]
[ 2, 3, 4 ]
4条回答
  •  生来不讨喜
    2020-12-20 18:15

    Slightly faster than https://stackoverflow.com/a/18988829/1093967 in Python 3.5+ (leveraging additional unpacking generalizations introduced by PEP-448):

    >>> timeit("([1, 2, 3] if True else []) + [4, 5, 6]")
    0.10665618600614835
    >>> timeit("[*([1, 2, 3] if True else []), 4, 5, 6]")
    0.08992647400009446
    

提交回复
热议问题