下面是一个例子,展示如何按共享元素对列表进行群组化:
from collections import defaultdict
def group_by_shared_elements(lst):
# 创建一个字典,用于存储共享元素的列表
grouped_dict = defaultdict(list)
# 遍历列表中的每个元素
for item in lst:
# 遍历每个元素的每个共享元素
for shared_element in item:
# 将元素添加到共享元素的列表中
grouped_dict[shared_element].append(item)
# 将字典的值转换为列表并返回结果
grouped_list = [value for value in grouped_dict.values()]
return grouped_list
# 示例用法
lst = [['a', 'b', 'c'], ['b', 'c', 'd'], ['e', 'f'], ['g', 'h', 'i']]
result = group_by_shared_elements(lst)
print(result)
运行上述代码将输出以下结果:
[[['a', 'b', 'c'], ['b', 'c', 'd']], [['e', 'f']], [['g', 'h', 'i']]]
在上面的例子中,我们首先创建一个defaultdict(list)
来存储共享元素的列表。然后,我们遍历列表中的每个元素,并遍历每个元素的共享元素。对于每个共享元素,我们将元素添加到该共享元素的列表中。最后,我们将字典的值转换为列表,并返回结果。