在python中,有两个列表x和y,两个列表长度一样。将x中重复元素组成新的列表,并将对应的y列表的值也取出新的列表
时间: 2024-09-10 08:15:34 浏览: 37
在Python中,如果你有两个长度相同的列表`x`和`y`,并且想要根据列表`x`中的重复元素创建一个新列表,同时从列表`y`中取出对应重复元素的值组成另一个新列表,你可以按照以下步骤操作:
1. 创建一个空集合`seen`用于存储已经出现过的元素。
2. 创建两个空列表`duplicates_x`和`duplicates_y`用于存储重复的元素及其对应的`y`列表中的值。
3. 遍历列表`x`,对于每个元素,检查是否已经在`seen`集合中:
- 如果不在,说明当前元素是第一次出现,将其添加到`seen`集合中。
- 如果已经在,说明当前元素是重复的,那么将这个元素添加到`duplicates_x`列表中,并从`y`列表中取出索引相同的值添加到`duplicates_y`列表中。
4. 最后得到的`duplicates_x`和`duplicates_y`列表分别包含了`x`中的重复元素和对应的`y`中的值。
以下是具体的Python代码实现:
```python
x = [1, 2, 3, 2, 4, 5, 4]
y = ['a', 'b', 'c', 'b', 'd', 'e', 'd']
seen = set()
duplicates_x = []
duplicates_y = []
for i in range(len(x)):
if x[i] in seen:
duplicates_x.append(x[i])
duplicates_y.append(y[i])
else:
seen.add(x[i])
print("重复元素列表:", duplicates_x)
print("对应的y列表值:", duplicates_y)
```
这段代码会输出重复元素及其对应`y`列表中的值。
阅读全文