3

次の形式のリストのリストがあります。

[[(1, 2), (2, 1)], [(1, 2), (1, 2)], [(2, 3), (2, 2)]]

特定のタプルが各サブリストの 0 番目の位置に出現する回数を知りたいです。上記の例では、(1, 2) のカウントを見つけたい場合、(1, 2) がサブリストの最初の項目として表示される回数に対して、2 を返すことが期待されます。

list.count() を使用してみましたが、それは最初のリストの出現に限定されており、サブリスト内の位置を解析できないようです。

私も Counter() を調べましたが、それも私が望むものを与えていないようです。

4

3 に答える 3

4
>>> 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
于 2013-07-20T04:32:47.217 に答える
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)
于 2013-07-20T04:31:46.083 に答える