所以我有这个代码:
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帮助
我认为您的意思是线
"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])