python - 查找列表中相似元素的索引
问题描述
我有这两个列表:
list_1 = ['less', 'more', 'more', 'more', 'more', 'more', 'more', 'more']
list_2 = ['less', 'less', 'less', 'more', 'less', 'less', 'more', 'less']
如果另一个列表中的相应元素相同,我想在 list_1 中找到索引。例如list_1[0] = list_2[0]
,0 将是我要查找的索引列表的第一个元素,但是list_1[1] != list_2[1]
,因此 1 不会在我的列表中
解决方案
您可以先zip
检查它们,然后两两检查并使用enumerate
如下所示的保存索引。(正如我问和你说的两个列表具有相同的大小)
尝试这个:
>>> list_1 = ['less', 'more', 'more', 'more', 'more', 'more', 'more', 'more']
>>> list_2 = ['less', 'less', 'less', 'more', 'less', 'less', 'more', 'less']
>>> [idx for idx, (a,b) in enumerate(zip(list_1, list_2)) if a==b]
[0, 3, 6]
# for more details
>>> list(zip(list_1, list_2))
[('less', 'less'),
('more', 'less'),
('more', 'less'),
('more', 'more'),
('more', 'less'),
('more', 'less'),
('more', 'more'),
('more', 'less')]
推荐阅读
- c# - 通过 Entity Framework Core 的投影使用嵌套属性时如何避免 NullReferenceException
- apache-spark-sql - 如何在 azure databricks 中重命名数据库?
- azure - 我无法触发 Azure Defender for IoT Hub 自定义安全警报
- google-cloud-platform - 为用户帐户创建帐户密钥
- reactjs - 刷新页面后 Redux store 设置为 null
- excel - WorksheetFunction.CountA 在同一个工作表上使用时返回不同的结果
- c++ - 我们可以使用 for-each 循环遍历传递给函数的数组吗?
- c# - 使用 AllowAnonymousFilter 时仍在使用 DefaultPolicy
- css - 奇怪的对角 viewBox SVG 行为
- c++ - Windows 上 TensorFlow 2.4 C++ 未解决的外部问题