Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:列表索引必须是整数,而不是str。如何使用此代码修复它?_Python_Python 3.x - Fatal编程技术网

Python TypeError:列表索引必须是整数,而不是str。如何使用此代码修复它?

Python TypeError:列表索引必须是整数,而不是str。如何使用此代码修复它?,python,python-3.x,Python,Python 3.x,我有一个for循环脚本,如下所示: for x in card_list: print(int(card_list[x])) 在尝试运行它之后,我得到了类型错误:列表索引必须是整数,而不是str这是一个常见错误 当在列表中循环时,您可以使用x而不是card_list[x] for x in card_list: print(int(x)) 或者,您可以将其设置为从0到列表长度的for循环,然后以这种方式进行迭代 for x in range(len(card_list):

我有一个for循环脚本,如下所示:

for x in card_list:

   print(int(card_list[x]))

在尝试运行它之后,我得到了
类型错误:列表索引必须是整数,而不是str

这是一个常见错误

当在列表中循环时,您可以使用x而不是card_list[x]

for x in card_list:

   print(int(x))
或者,您可以将其设置为从0到列表长度的for循环,然后以这种方式进行迭代

for x in range(len(card_list):
    print(card_list[x])

card\u列表中的
x
是一个
str

使用它的一种方法:

card_list = ['1', '2']

for indx, val in enumerate(card_list):
    print(int(card_list[indx]))
结果:

>>> 1
2

x是卡片列表中的完整对象。无需通过卡片列表[x]对其进行反引用

您可以直接使用对象作为x,即打印(x)

如果您想使用c风格,那么您可以按如下方式使用它

for i, val in enumerate(card_list):
      #i is index, you can de-reference it as card_list[i]
      #val is complete object and can be deference directly like x above

你想做什么?欢迎来到StackOverflow。看见在您发布MRE代码并准确说明问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您指定的问题。StackOverflow不是设计、编码、研究或教程资源。我们不知道——您的代码在未定义的符号上有错误。错误消息很清楚:您试图使用字符串索引序列
x
似乎是一个字符串,而
card\u list
则是一个列表——但在出现故障时,您没有检查它们。我已经发布了我想要的内容;请遵守。我建议不要使用
range
的代码。没有任何好处,而且是不和谐的。