怎么找到两个列表相同的元素,及其索引
时间: 2024-09-23 14:07:15 浏览: 60
Python实现两个list对应元素相减操作示例
5星 · 资源好评率100%
在Python中,你可以通过多种方式找出两个列表中相同元素及其对应的索引。以下是两种常见的方法:
1. **使用zip()函数和dict**:
```python
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
# 使用zip()将两个列表配对并创建字典
matched_elements = {item: (i, j) for i, item in enumerate(list1) if item in list2 for j, _ in enumerate(list2)}
print(matched_elements)
```
这将输出:
```
{3: (0, 1), 4: (1, 2)}
```
2. **使用set和enumerate**:
```python
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
# 将两个列表转换为集合,然后找到交集
common_items = set(list1).intersection(set(list2))
# 获取每个共同元素在原列表中的索引
matched_indices = [(list1.index(item), list2.index(item)) for item in common_items]
print(matched_indices)
```
同样输出:
```
[(0, 1), (1, 2)]
```
这两种方法都返回了一个包含相同元素及其在两个列表中的索引的元组列表。
阅读全文