我有一个表格列表:
[[(1, 2), (2, 1)], [(1, 2), (1, 2)], [(2, 3), (2, 2)]]
我想知道给定元组在每个子列表的第零位出现的次数。在上面的示例中,如果我想找到 (1, 2) 的计数,我希望返回 2,因为 (1, 2) 作为子列表中的第一项出现的次数。
我尝试过使用 list.count(),但这似乎仅限于出现在第一个列表中,并且无法解析子列表中的位置。
我也研究了 Counter(),但这似乎也没有给出我想要的。
我有一个表格列表:
[[(1, 2), (2, 1)], [(1, 2), (1, 2)], [(2, 3), (2, 2)]]
我想知道给定元组在每个子列表的第零位出现的次数。在上面的示例中,如果我想找到 (1, 2) 的计数,我希望返回 2,因为 (1, 2) 作为子列表中的第一项出现的次数。
我尝试过使用 list.count(),但这似乎仅限于出现在第一个列表中,并且无法解析子列表中的位置。
我也研究了 Counter(),但这似乎也没有给出我想要的。
>>> from collections import Counter
>>> lst = [[(1, 2), (2, 1)], [(1, 2), (1, 2)], [(2, 3), (2, 2)]]
>>> c = Counter(sublst[0] for sublst in lst)
>>> c
Counter({(1, 2): 2, (2, 3): 1})
>>> c[(1, 2)]
2
a = [[(1, 2), (2, 1)], [(1, 2), (1, 2)], [(2, 3), (2, 2)]]
item = (1,2)
count = [sublist[0] for sublist in a].count(item)
这可能不是很优雅,但我只是在玩......
>>> lst
[[(1, 2), (2, 1)], [(1, 2), (1, 2)], [(2, 3), (2, 2)]]
>>> (lambda x: [l[0] == (1,2) for l in x].count(True) )(lst)
2
>>> (lambda list,tuple: [l[0] for l in list].count(tuple) )(lst, (1,2))
2
>>> z=0
>>> for ll in lst:
... if ll[0] == (1,2): z+=1
...
>>> z
2