首页 > 解决方案 > 检查第一个字符串列表中的元素是否出现在第二个字符串列表中

问题描述

如果有骗子,我深表歉意!我试过寻找类似的问题,但没有运气:(假设我的代码如下所示:

buckets = []
A = ["apple", "pear", "orange"]
B = ["pear"]

for a in A:
    if a in B:
        buckets.append(A[a])

因此,由于 A 中的梨出现在 B 中,我想将“梨”附加到我的列表中,以显示“梨”在列表 A 中并且已经出现在列表 B 中。但是我收到一条错误消息

TypeError: list indices must be integers or slices, not str

这个问题似乎真的微不足道,但我似乎无法找到错误。任何帮助,将不胜感激!

编辑:这是一个很小的修复!对于这样一个看起来多余的问题,我们深表歉意。谢谢回答!

标签: pythonlistloops

解决方案


在这里A[a],您尝试使用元素本身获取元素。for a in A产生项目,而不是索引。

修复很简单:

buckets.append(a)

实际上,这本可以更容易实现:

buckets = list(set(A).intersection(B))

推荐阅读