python - 检查第一个字符串列表中的元素是否出现在第二个字符串列表中
问题描述
如果有骗子,我深表歉意!我试过寻找类似的问题,但没有运气:(假设我的代码如下所示:
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
这个问题似乎真的微不足道,但我似乎无法找到错误。任何帮助,将不胜感激!
编辑:这是一个很小的修复!对于这样一个看起来多余的问题,我们深表歉意。谢谢回答!
解决方案
在这里A[a]
,您尝试使用元素本身获取元素。for a in A
产生项目,而不是索引。
修复很简单:
buckets.append(a)
实际上,这本可以更容易实现:
buckets = list(set(A).intersection(B))
推荐阅读
- dataframe - Pyspark Dataframes - 如何在 3 列成为唯一键的情况下进行连接
- heroku - Heroku 上的 express-gateway - {$PORT} 绑定错误
- python - 为什么我必须将“uint8”转换为“float32”
- django - 带有可选字段习语的graphql-django更新突变?
- java - 在 Java 中使用 LIKE 查询时标识符无效
- excel - 浏览它们时如何使用获取列数据?
- windows - 对幻像 Windows 安装依赖项进行故障排除
- exception - 使用 Spring WebFlux 时 New Relic APM 中缺少 strackrace
- ms-access - Microsoft Access 数据库引擎 2016 - 在 2010 中正常工作的某些 SQL 查询出现问题
- android - 在 Kiosk 模式下禁用 Android 导航(Android 管理 API)