如果一个二维列表中每一个列表中的第0个元素相同,就把相同列表中的第0个和第2个元素取出来并生成一个新的列表且只取一次
时间: 2024-04-11 08:28:42 浏览: 10
可以使用以下代码来实现你的需求:
```python
def generate_new_list(input_list):
new_list = []
seen_elements = set() # 用集合来记录已经出现过的元素的第0个元素值
for sublist in input_list:
if sublist[0] not in seen_elements:
new_list.append([sublist[0], sublist[2]])
seen_elements.add(sublist[0])
return new_list
# 示例用法
input_list = [['A', 1, 'X'], ['B', 2, 'Y'], ['A', 3, 'Z'], ['C', 4, 'W'], ['B', 5, 'P']]
new_list = generate_new_list(input_list)
print(new_list)
```
输出:
```
[['A', 'X'], ['B', 'Y'], ['C', 'W']]
```
在这个例子中,我们的输入列表是`input_list`,其中包含了一些子列表。我们遍历每个子列表,如果子列表的第0个元素没有在`seen_elements`集合中出现过,我们就将该子列表的第0个和第2个元素取出来,并添加到`new_list`中,同时将第0个元素添加到`seen_elements`集合中。这样可以确保只取一次相同列表的第0个和第2个元素。最后返回生成的新列表`new_list`。
请注意,这里使用了一个集合`seen_elements`来记录已经出现过的元素的第0个元素值,以避免重复添加相同的元素。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)