将嵌套列表中有相同元素的子列表存放到同一个子列表中
时间: 2023-12-15 11:03:20 浏览: 72
python中多层嵌套列表的拆分方法
可以使用一个字典来存储已经出现的子列表,然后遍历原始列表,将每个子列表转换为一个元组,然后将该元组作为字典的键进行查询。如果该元组已经存在于字典中,则将该子列表添加到对应的子列表中,否则,将该元组作为新的键,并将该子列表作为值添加到字典中。
以下是一个示例代码实现:
```python
def group_lists(lst):
d = {}
for sub_lst in lst:
key = tuple(sub_lst)
if key in d:
d[key].append(sub_lst)
else:
d[key] = [sub_lst]
return list(d.values())
```
示例输入:
```python
lst = [[1, 2, 3], [4, 5], [1, 2, 3], [6, 7], [8], [4, 5]]
```
示例输出:
```python
[[[1, 2, 3], [1, 2, 3]], [[4, 5], [4, 5]], [[6, 7]], [[8]]]
```
可以看到,原始列表中有两个子列表 `[1, 2, 3]` 和 `[4, 5]` 出现了两次,它们被分别存放在了同一个子列表中。
阅读全文