if group not in g:
g[group] = set()
g[group].add(name)
遍历具有以下结构的群组列表:
Group: A
Name: Bob
并将属于特定组的人的姓名添加到集合中。集合中的名称是唯一的,我们不知道一个组中有多少个相似的名称。例如,如果有两个“Bob”名称或5个“Mike”名称,我该如何计算名称的多次出现,以获得类似以下内容的结果:
Group A: Bob 2, Mike 5
Group B: Jane 4
等等,提前感谢。
if group not in g:
g[group] = set()
g[group].add(name)
遍历具有以下结构的群组列表:
Group: A
Name: Bob
并将属于特定组的人的姓名添加到集合中。集合中的名称是唯一的,我们不知道一个组中有多少个相似的名称。例如,如果有两个“Bob”名称或5个“Mike”名称,我该如何计算名称的多次出现,以获得类似以下内容的结果:
Group A: Bob 2, Mike 5
Group B: Jane 4
等等,提前感谢。
看起来你最好使用一个Counter:
>>> from collections import Counter
>>> mylist = ["Bob", "Mike", "Bob", "Mike", "Mike", "Mike", "Bob"]
>>> Counter(mylist)
Counter({'Mike': 4, 'Bob': 3})
tralala = dict()
for group, name in [('A', 'Bob'), ('B', 'Jane'), ('A', 'Bob')]:
tralala.setdefault(group, dict()).setdefault(name, 0)
tralala[group][name] += 1
print tralala
{'A': {'Bob': 2}, 'B': {'Jane': 1}}
from collections import Counter, defaultdict
lst = [('B', 'Bob'), ('A', 'Andy'), ('C', 'Charles'), ('A', 'Adam'), ('B', 'Abraham')]