Mathematica 有一个名为 Nothing 的对象,当放入列表中时它会自动消失。
例如,
{a, b, Nothing, c, d, Nothing}
自动计算为 {a, b, c, d}
。
Python 是否存在类似的东西?
我尝试了
x = (1, 2, 3, 4 if True, 5)
,它抱怨缺少 else 语句。移动到 x = (1, 2, 3, 4 if True else None, 5)
成功,但 y = (1, 2, 3, 4 if False else None, 5)
给出 (1, 2, 3, None, 5)
而我想要的是 (1, 2, 3, 5)
,所以 None
被保留,而 Nothing
将被删除。
如果有这样的事情,对
[lists,]
和{'dict': 'ionaries'}
有用吗?
(4,) if True else ()
计算为元组 (4,)
或空元组 ()
,因此将其解包后您可以编写 x = (1,2,3,*((4,) if True else ()),5)
。
几乎完全相同的事情适用于列表,
x = [1,2,3,*((4,) if True else ()),5]
。
解压字典也可以:
x = {'a':1, **({'b':2} if True else {})}
。