0

我有一本字典,其中的值是列表,我想知道列表中有多少元素与每个键相关联。我在这里找到了这个。但我只需要一个键的元素总数。例如对于

>>> from collections import Counter
>>> my_dict = {'I': [23,24,23,23,24], 'P': [17,23,23,17,24,12]}
>>> {k: Counter(v) for k, v in my_dict.items()}
{'P': Counter({17: 2, 23: 2, 24: 1, 12: 1}), 'I': Counter({23: 3, 24: 2})}

例如{P:6},如果它只给出数字会更好,count_elements=5

4

3 回答 3

2
>>> my_dict= {'I':[23,24,23,23,24],'P':[17,23,23,17,24,12]}
>>> {k: len(v) for k, v in my_dict.items()}
{'I': 5, 'P': 6}

一个键很简单:

>>> len(my_dict['P'])
6

正如@Joe 建议的那样len(my_dict.get(key, [])),当密钥不存在时有效,这可能有效,但是您无法区分具有空列表的密钥和不存在的密钥。在这种情况下,你可以抓住KeyError 这里。

于 2013-05-29T08:55:25.120 回答
2

这将获得给定 key 的值的数量key。我相信这就是问题所在。

my_dict= {"I":[23,24,23,23,24],"P":[17,23,23,17,24,12]}
number = len(my_dict.get(key, []))
于 2013-05-29T08:55:31.777 回答
1

你是这么想的吗?

my_dict= {'I':[23,24,23,23,24],'P':[17,23,23,17,24,12]}
print {k:len(v) for k, v in my_dict.items()}
{'I': 5, 'P': 6}
于 2013-05-29T08:57:15.077 回答