我有一个元组列表,例如:

lst = [[1, 4, (1, 1, 1, 4)], [7,8,(2, 1,6, 14)],[2,3, (1, 1, 1, 9)], [5,4, (2, 1,1, 12)], [8,9, (2, 1,1, 99)],  [5,7,(2, 1,6, 19)], [3,4, (1, 1, 1, 14)]]

我需要根据元组对列表进行分组,以便所有列表都在同一组中,只有元组中的最后一项不同.例如:

first group: [[1, 4, (1, 1, 1, 4)], [2,3, (1, 1, 1, 9)], [3,4, (1, 1, 1, 14)]]
second group: [[5,4, (2, 1,1, 12)], [8,9, (2, 1,1, 99)]]
third group: [[7,8,(2, 1,6, 14)], [5,7,(2, 1,6, 19)]]

推荐答案

try :

lst = [
    [1, 4, (1, 1, 1, 4)],
    [7, 8, (2, 1, 6, 14)],
    [2, 3, (1, 1, 1, 9)],
    [5, 4, (2, 1, 1, 12)],
    [8, 9, (2, 1, 1, 99)],
    [5, 7, (2, 1, 6, 19)],
    [3, 4, (1, 1, 1, 14)],
]

out = {}
for i in lst:
    *key, _ = i[-1]
    out.setdefault(tuple(key), []).append(i)

print(list(out.values()))

打印:

[
    [[1, 4, (1, 1, 1, 4)], [2, 3, (1, 1, 1, 9)], [3, 4, (1, 1, 1, 14)]],
    [[7, 8, (2, 1, 6, 14)], [5, 7, (2, 1, 6, 19)]],
    [[5, 4, (2, 1, 1, 12)], [8, 9, (2, 1, 1, 99)]],
]

Python相关问答推荐

如何在Python中使用ijson解析SON期间检索文件位置?

在Python中为变量的缺失值创建虚拟值

Pandas 填充条件是另一列

三个给定的坐标可以是矩形的点吗

Select 用a和i标签包裹的复选框?

Python 约束无法解决n皇后之谜

使用索引列表列表对列进行切片并获取行方向的向量长度

在vscode上使用Python虚拟环境时((env))

NumPy中条件嵌套for循环的向量化

joblib:无法从父目录的另一个子文件夹加载转储模型

为什么Django管理页面和我的页面的其他CSS文件和图片都找不到?'

人口全部乱序 - Python—Matplotlib—映射

为什么Python内存中的列表大小与文档不匹配?

Polars map_使用多处理对UDF进行批处理

判断Python操作:如何从字面上得到所有decorator ?

Django Table—如果项目是唯一的,则单行

在Python中控制列表中的数据步长

将CSS链接到HTML文件的问题

Js的查询结果可以在PC Chrome上显示,但不能在Android Chrome、OPERA和EDGE上显示,而两者都可以在Firefox上运行

获取git修订版中每个文件的最后修改时间的最有效方法是什么?