Python TypeError:列表索引必须是整数,而不是str。如何使用此代码修复它?
我有一个for循环脚本,如下所示: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 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
的代码。没有任何好处,而且是不和谐的。