Python 元组没什么用

问题描述 投票:0回答:1

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'}
有用吗?

python tuples
1个回答
1
投票

(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 {})}

© www.soinside.com 2019 - 2024. All rights reserved.