我正在尝试制作一个程序,使用第二个列表搜索字符串列表。第一个列表是随机拼凑的字母列表,第二个列表是单词列表。程序应该检测第二个列表中的每个单词是否可以在第一个列表中的任何字符串中找到。如果是,则将找到的单词添加到第三个空列表中
counter = 0
for a in FirstList:
for b in SecondList:
if SecondList[counter] in FirstList[counter]:
ThirdList += [SecondList[counter]]
counter += 1
if counter >= len(SecondList):
break
return ThirdList
但是,它在第一个if语句中抛出一个错误,该语句声称列表索引超出范围。我不太明白我遗漏了什么,因为我没有编辑我正在迭代的任何列表的内容,这就是这个错误的原因,在关于相同错误的其他帖子中
您不应该重复这两个列表。您的计数器超出了两个列表中的元素数量。如果我很了解您要做的事情,您可以使用以下代码:
如果第三个列表中的重复元素没有问题,可以删除
if
语句的第二个条件这里的问题是,您使用的计数器的大小应该与SecondList相同,但如果FirstList较小,“计数器”将超出FirstList的范围
我认为这可能更接近你想要实现的目标:
这是一个list comprehension,它在两个列表中运行,并输出第二个列表中出现在第一个列表中的任何值中的任何值
例如,代码:
您将收到输出:“test”,因为test位于第一个列表中
相关问题 更多 >
编程相关推荐