在Python中将列表转换为元组

时间:2018-05-04 08:53:02

标签: python python-3.x list tuples

>>> list=['a','b']
>>> tuple=tuple(list)
>>> list.append('a')
>>> print(tuple)
('a', 'b')
>>> another_tuple=tuple(list)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object is not callable

为什么我不能将列表'list'转换为元组?

1 个答案:

答案 0 :(得分:6)

在课后命名变量。在您的示例中,您使用listtuple执行此操作。

您可以按如下方式重写:

lst = ['a', 'b']
tup = tuple(lst)
lst.append('a')
another_tuple = tuple(lst)

按行说明

  1. 创建一个包含2个项目的可变对象列表。
  2. 将列表转换为元组,它是一个不可变对象,并分配给一个新变量。
  3. 获取原始列表并附加一个项目,因此原始列表现在有3个项目。
  4. new 列表中创建一个元组,返回3个元组的元组。
  5. 您发布的代码无效,因为:

    • 当您致电another_tuple=tuple(list)时,Python会尝试将您在第二行中创建的tuple视为功能
    • tuple 变量不可调用。
    • 因此,Python以TypeError: 'tuple' object is not callable退出。