TypeError:'str'对象在尝试运行变量以写入变量时不支持项目分配

问题描述 投票:0回答:1

所以我有这个代码:

answeariteration = 0
while answeariteration < int(numberofanswears):
    thread = reddbot.submission(url = str(submissionurl))
    globals()["answear" + str(answeariteration)] = "test"

    answear = thread.comments[answeariteration]

    "answear" [answeariteration] = str(answear)
    answeariteration += 1

当我运行它时,我得到:

TypeError: 'str' object does not support item assignment

对不起,我的英语不好...我用answear0,answear1等名称创建了一些变量,然后我需要编写用字符串替换这些变量中的测试文本:

"answear" [answeariteration] = str(answear)

它不会让我遍历每个变量名。 PLZ帮助

python python-3.x loops variables praw
1个回答
0
投票

我认为您的意思是线

"answear" [answeariteration] = str(answear)

成为

globals()["answear"+str(answeariteration)] = str(answear)

但是这不是一个好方法。除了使用变量名,还可以使用字典。也许像这样:

answer = {}

answer_iteration = 0
while answer_iteration < int(numberofanswers):
    thread = reddbot.submission(url = str(submissionurl))
    answer[answer_iteration] = str(thread.comments[answer_iteration])
    answer_iteration += 1

并且您可以使用for循环而不是while

answer = {}

for answer_iteration in range(numberofanswers):
    thread = reddbot.submission(url = str(submissionurl))
    answer[answer_iteration] = str(thread.comments[answer_iteration])
© www.soinside.com 2019 - 2024. All rights reserved.