я имею в Словаре д, как показано ниже:подсчета частоты появлений элементов в словаре и обновлять его в самом словаре
d
{'EventThread': [40002], 'kworker/u16:13': [80002], 'kworker/u16:0': [80002], 'AudioOut_D': [80002, 80002, 80002, 80002, 80002, 80002], 'putmethod.latin': [80002], 'surfaceflinger': [40002], 'InputDispatcher': [80002]}
Я хочу что-то подобное:
d
{'AudioOut_D': [80002:6 ,40002:1]}
который указывает частоты пунктов
Я попытался код ниже:
print((collections.Counter(d['AudioOut_D'])))
Counter({80002: 6})
, но затем, как обновить это в dictionay
код ТИА для того, как генерировать Dict выглядит следующим образом:
self._sched_task_load_flags = defaultdict(list)
def sched_task_load_handler(self,thread):
"accepts threads and builds corresponding threads and flags co-relation"
_sched_task_load_flags = self._sched_task_load_flags
try:
while True:
record = (yield)
if "sched_task_load"==record["function"]:
flags = record["flags"]
else:
print "error in sched_task_load_function_parse"
raise Exception
Как совместить две операции в цикле ниже:
e = {k: dict(Counter(v)) for k, v in d.iteritems()}
это работает отлично, но мне также необходимо получить список всех флагов, как показано ниже:
for k,v in flags.iteritems():
list_of_all_flags.append(list(Counter(v)))
как можно сочетать выше двух петель в одном ТИА
Прежде всего '{» AudioOut_D ': [80002: 6, 40002: 1]} 'не является действительным синтаксисом Python, **' [80002: 6, 40002: 1] '** не имеет смысла – ZdaR
Я хотел сказать, что мне нужно количество/частота события вместе с его типом – R2D2