📜  Python – List 上的值嵌套分组(1)

📅  最后修改于: 2023-12-03 15:34:06.586000             🧑  作者: Mango

Python – List 上的值嵌套分组

在 Python 中,List 是很常见的数据结构。有时候我们需要按照一定的规则对 List 上的值进行分组。本文将介绍在 Python 中如何实现 List 上的值嵌套分组。

在 Python 中,我们可以使用 groupby 函数来对 List 进行分组。groupby 函数需要两个参数,第一个参数是用来进行分组的 List,第二个参数是一个用来对 List 中的每个元素运算的函数。groupby 函数返回的结果是一个元组,其中第一个元素是分组的键,第二个元素是一个迭代器,包含了所有的分组成员。

from itertools import groupby

def group_list(nested_list):
    nested_list.sort()
    return [list(group) for key, group in groupby(nested_list, lambda x: x[0])]

nested_list = [[1, 2], [3, 4], [1, 3], [3, 5]]
print(group_list(nested_list))

输出结果为:

[[[1, 2], [1, 3]], [[3, 4], [3, 5]]]

代码解释:

首先导入 itertools 中的 groupby 函数。在 group_list 函数中,我们调用了 sort 函数对 input_list 进行排序。然后使用 groupby 函数对排序后的 List 进行分组,分组的键是每个元素的第一个元素,也就是 [1, 2] 中的 1。最后使用列表推导式将分组成员构成一个新的 List 并返回。

以上就是如何在 Python 中实现 List 嵌套分组的方法。