我刚学会了如何从list
中删除某些内容。
rando = keywords[random.randint(0, 14)]
h = 0
for h in range(len(keywords)):
if rando == keywords[h]:
position = h
realAns = definitions[position]
del keywords [h]
但是,当我使用while
循环时,代码的一部分会不断重复,并且由于我通过删除元素更改了范围,因此会发生回溯错误,说它超出范围。我该如何解决?
谢谢:))
答案 0 :(得分:0)
代码看起来很好,可能是您没有在列表中定义14个条目的列表'关键字'。
当您尝试访问未定义的列表部分时,会出现“列表超出范围”错误。 例如,请参阅以下代码
list_of_rollnumbers = [11,24,31,57,42,99,132]
print list_of_rollnumbers[7]
print list_of_rollnumbers[9] #both these would give list index out of range error
print list_of_rollnumbers[5] #this would print 99
答案 1 :(得分:0)
你为什么要这样做呢?据我所知,你在随机索引中选择项目,然后查看整个列表以找到项目,以便找到它的索引。只是做:
position = random.randrange(len(keywords))
rando = keywords[position]
realAns = definitions[position]
或者,更简单:
rando, realAns = random.choice(list(zip(keywords, definitions)))