将单调元组转换为列表

converting singletone tuple to list

a=(3)
b=list(a)

typeError: 'int' 对象不可迭代

但是

a=[3]
b=tuple(a)
c=list(b)

运行没有错误。

请解释一下。

那是因为 (3) 就是 3tuples 由逗号定义,而不是括号。如果你想要一个只有一个元素的 tuple,添加一个逗号:(3,).

(3)是括号里的数字3(3,)是一个元组:

>>> a = (3)
>>> type(a)
<type 'int'>
>>> a = (3,)
>>> type(a)
<type 'tuple'>

[3] 没有歧义,所以它是一个列表:

>>> a = [3]
>>> type(a)
<type 'list'>

list 构造函数接受 tuplelist 但不接受 int.

使用逗号定义元组,

type((3,)) 其类型为 'tuple'

type(3) 其类型 'int'