python - How can I convert this tuple of tuples into a count of its elements? -
i have tuple of tuples:
tupleoftuples = (('venue1', 'name1'), ('venue1', 'name2'), ('venue2', 'name3'), ('venue3', 'name4'), ('venue3', 'name5'), ('venue3', 'name6')) i want convert result this:
output = (('venue1', 2), ('venue2', 1), ('venue3', 3)) in case, output contains ('venue1', 2), example, 2 number of times 'venue1' occurred in tupleoftuples.
i tried using len() count number of occurrences, not work given tupleoftuples not single tuple tuple of tuples.
how can done in python2.7?
use collections.counter() count how many occurrences have:
from collections import counter output = counter(t[0] t in tupleoftuples).items() a counter() dictionary keys mapped counts; passing in generator look counting you. because dictionary subclass, dict.items() can used produce list of (key, count) tuples.
this produce list; phone call tuple() on if insist on having tuple here.
demo:
>>> collections import counter >>> tupleoftuples = ( ('venue1', 'name1'), ('venue1', 'name2'), ('venue2', 'name3'), ('venue3', 'name4'), ('venue3', 'name5'), ('venue3', 'name6') ) >>> counter(t[0] t in tupleoftuples).items() [('venue1', 2), ('venue3', 3), ('venue2', 1)] python python-2.7 count tuples
No comments:
Post a Comment