簡體   English   中英

計數python中的第一個元素並進行打印?

[英]Counting first element in python and printing?

我在Python中有一個數據結構,可以跟蹤如下所示的客戶端分析

'B': ['J'], 'C': ['K'], 'A': ['L'], 'D': ['J'], 'E': ['L']

我正在嘗試打印這樣的表:

Site Counts:
    J  got  2 hits
    K  got  1 hits
    L  got  2 hits

到目前為止,我已經考慮過使用.fromkeys()方法,但是對於如何去獲取數據沒有太多的想法,我嘗試了很多不同的方法,但沒有運氣這個問題。

Python附帶了一個計數器類: collections.Counter()

from collections import Counter

site_counts = Counter(value[0] for value in inputdict.values())

演示:

>>> from collections import Counter
>>> inputdict = {'B': ['J', 'K', 'L'], 'C': ['K', 'J', 'L'], 'A': ['L', 'K', 'J'], 'D': ['J', 'L', 'K'], 'E': ['L', 'J', 'K']}
>>> site_counts = Counter(value[0] for value in inputdict.values())
>>> site_counts
Counter({'J': 2, 'L': 2, 'K': 1})

Counter是一個字典子類,因此您可以立即循環瀏覽鍵並打印出相關的計數,但是也可以使用Counter.most_common()方法按計數(降序)對輸出進行排序:

print('Site Counts:')
for site, count in site_counts.most_common():
    print('    {}  got {:2d} hits'.format(site, count))

為您的樣本輸入打印哪個:

Site Counts:
    J  got  2 hits
    L  got  2 hits
    K  got  1 hits

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM