簡體   English   中英

計數列表並添加到新字典(Python)

[英]Counting Lists and Adding to a new Dictionary (Python)

我正在使用字典,並且想知道如何 output 一個字典,其中它的鍵是給定字典中出現的單詞,它的值是它在該字典中出現的次數。

比如說,

A = {'#1': ['Yellow', 'Blue', 'Red'], '#2': ['White', 'Purple', 'Purple', 'Red']}
B - []
for key in A:
    B.append(A[key])

>>> B
>>> [['Yellow', 'Blue', 'Red'], ['White', 'Purple', 'Purple', 'Red']]

返回鍵的相應值后,我現在可以遍歷每個字符串列表並展平值列表。

C = []
for sublist in B:
    for item in sublist:
        C.append(item)

我知道我需要計算某些字符串在該列表中出現的次數,然后填充字典,其中鍵是顏色,值是它出現的次數。 這部分主要是我遇到困難的地方。

您可以使用Counter object:

>>> from collections import Counter
>>> c
['Yellow', 'Blue', 'Red', 'White', 'Purple', 'Purple', 'Red']
>>> Counter(c)
Counter({'Red': 2, 'Purple': 2, 'Yellow': 1, 'Blue': 1, 'White': 1})

或者自己制作:

>>> d = {i: c.count(i) for i in c}
>>> d
{'Yellow': 1, 'Blue': 1, 'Red': 2, 'White': 1, 'Purple': 2}

您還可以縮短c創建時間:

c = []
for i in A.values():
    c.extend(i)

>>> c
['Yellow', 'Blue', 'Red', 'White', 'Purple', 'Purple', 'Red']

或者:

c = [j for i in A.values() for j in i]

>>> c
['Yellow', 'Blue', 'Red', 'White', 'Purple', 'Purple', 'Red']

暫無
暫無

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

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