首页 > 解决方案 > 如何查找内部列表中的最后一个值在python的嵌套列表中重复了多少次?

问题描述

我有一个清单:

a = [[0, 2, 5, 12], [1, 2, 3, 4, 8, 9], [2, 4, 12], [3, 8, 9], [4, 5, 7]]

我想得到2因为a[0][-1] == a[2][-1], a[1][-1] == a[3][-1]

最后一个值中有两个重复。

我试图使用sum(1 for sublist in a if sublist[-1] == sublist[-1]) 它失败了,我为此陷入了困境。

标签: python-3.xlistnumpyduplicates

解决方案


您可以collections.Counter用来计算最后一项的出现次数:

from collections import Counter
last = Counter([i[-1] for i in a])
# Counter({7: 1, 9: 2, 12: 2})

然后计算其中有多少大于1

sum(1 for k,v in last.items() if v>1)
# 2

推荐阅读