Skip to main content
 首页 » 编程设计

python之计算列表并添加到新字典 (Python)

2025年05月04日21softidea

我正在使用字典,想知道如何输出一个字典,其中它的键是给定字典中出现的单词,它的值是它在该字典中出现的次数。

比如说,

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对象:

>>> 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']