无法将String强制转换为List

时间:2018-03-01 23:23:12

标签: python types

由于此处出现此错误消息,我感到非常沮丧,并且无法弄清楚这么简单的代码出了什么问题:

cmd.exe

^是一个新变量。 '元组'在哪里?类型来自哪里?此外,如果我将字符串分配给变量,我可以通过调用其名称将其转换为字符串。例如:

secret_word_list = list('trang')

TypeError: 'tuple' object is not callable

我试过但是同样的错误信息一直在弹出。

另外,我在Spyder中写道。如果我在PythonTutor中写道,事情会很顺利。

提前感谢您的时间!

2 个答案:

答案 0 :(得分:1)

问题是由于你正在隐藏一个内置的Python关键字:list

永远不要创建具有内置关键字名称的变量。

如果您选择其他变量名称,您的代码可以正常运行:

>> string = 'abc'
>> my_list = list(string)
>> print(my_list)
['a', 'b', 'c']

我怀疑你得到的是TypeError,因为你之前已经为一个名为list的变量分配了一个元组。

答案 1 :(得分:1)

这是我在新口译员中运行代码时的作用:

>>> secret_word_list = list('trang')
>>> secret_word_list
['t', 'r', 'a', 'n', 'g']
>>> 

换句话说,它表现得像预期的那样。 如果你仔细看看你得到的错误,你就可以理解Python看到了一个元组被调用:

TypeError: 'tuple' object is not callable

唯一的电话是list。 因此,list是一个元组。 这只能意味着代码中某处list已经反弹。

您需要找到您编写类似

的行
list = ...

并使用其他名称代替list