嵌套列表的Groupby

2024-03-29 05:29:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表[[1,20],[1,30],[2,30],[2,50],[3,60], [1,20]]。如果嵌套列表上的第一个元素与上一个相同,我应该删除它(而不是删除列表上的重复项)。在这种情况下,我应该得到[[1,20],[2,30],[3,60],[1,20]]。你知道吗

我正在使用itemgetter和groupby,并编写了以下内容:

[x[0] for x in groupby(testlist, itemgetter(0))]

上面的代码只输出第一个元素作为[1,2,3,1]。我希望它与[[1,20],[2,30],[3,60],[1,20]]具有相同的嵌套列表格式。我如何在同一个列表“testlist”中执行此操作。有没有比简单地重复整个列表更好的方法呢。你知道吗


Tags: 方法代码in元素列表for格式情况
1条回答
网友
1楼 · 发布于 2024-03-29 05:29:12

你只是在展示钥匙。^{}返回键和组的元组。您需要组中的第一项:

print [next(g) for k, g in groupby(i, itemgetter(0))]
# # [[1, 20], [2, 30], [3, 60], [1, 20]]

相关问题 更多 >