【发布时间】:2016-06-18 09:45:22
【问题描述】:
如何创建一个只包含一个空元组的元组,即(())?我试过tuple(tuple())、tuple(tuple(tuple()))、tuple([])和tuple(tuple([])),它们都给了我()。
我使用这样的东西的原因如下:假设你有n 的包和m 的物品。为了表示包中的项目列表,我使用长度为n 的tuple,其中该元组的每个元素都代表一个包。一个袋子可能是空的,标记为()。现在,在最初的某个时间点,我只有一个装有空物品的袋子!
【问题讨论】:
-
空元组文字是
(),而不是(,) -
@DeepSpace 没错。然后使用这个元组创建一个新元组,并将所有元组存储在某个地方以进行日志记录。
-
一个包含 5 个元组的元组是
((),)*5。 -
@jeffery_the_wind 这并没有创建我想要的,但感谢您提供
lists。它在以下工作代码tuple([tuple()])中帮助了我。此外,以下答案只是基于元组的,非常可取。 -
除了逗号混淆之外,这里的关键见解是
tuple()构造函数是一个转换器,而不是容器。也就是说,你必须给它某种容器(技术上是一个迭代器)。这就是为什么tuple(1)是一个类型错误。所以虽然tuple()确实是一个空元组,tuple(tuple())只是转换为另一个空元组。