identical = 0
while x < len(BigList):
while y < len(BigList):
if BigList[x][0] == BigList[y][0] and y != x:
identical += 1
y += 1
x += 1
如何正确查看大列表中每个列表的0th
元素是否等于Big List中另一个列表中的另一个第0个元素?
即,我需要[[1,2],[2,3],[1,4],[2,5]]
来制作identical=2
因为2个列表的第0个元素等于另一个列表的0th
元素
TIA
答案 0 :(得分:6)
identical = len(BigList) - len(set(item[0] for item in BigList))
重复数量= BigList中的项目数减去唯一的第零个索引项目数
答案 1 :(得分:2)
首先列出第0个元素...然后计算出现次数(如果你是2.7+,你可以在你的第0个列表上使用collections.Counter
zeros = [mylist[0] for mylist in biglist]
my_dict = dict([(c,zeros.count(c)) for c in zeros])
dup_elems = filter(lambda key:my_dict[key]>1, my_dict.keys())
print len(dup_elems)
答案 2 :(得分:0)
代码:
firstElems = zip(*L)[0]
firstSames = sum(v for v in collections.Counter(firstElems).values if v != 1)
equals = sum(v for v in collections.counter(tuple(l) for l in L).values if v!=1)
answer = firstSames - equals
希望这有帮助。