Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算每个键的出现次数_Python_Python 3.x_Counter - Fatal编程技术网

Python 计算每个键的出现次数

Python 计算每个键的出现次数,python,python-3.x,counter,Python,Python 3.x,Counter,我有以下用户作为 users = [ { username: "user1", state: "USA" }, { username: "user2", state: "Canada" }, { username: "user3", state: "China" }, { username: "user4", state: "Chi

我有以下用户作为

users = [
  { username: "user1", state: "USA" },
  { username: "user2", state: "Canada" },
  { username: "user3", state: "China" },
  { username: "user4", state: "China" },
  { username: "user4", state: "USA" },
];
我想计算每个状态出现的次数,并将其与值一起打印。 我的输出应该是

USA, 2
Canada,1
China,2
我在python中使用了计数器,但我面临一些问题

users = [
  { username: "user1", state: "USA" },
  { username: "user2", state: "Canada" },
  { username: "user3", state: "China" },
  { username: "user4", state: "China" },
  { username: "user4", state: "USA" },
];
from collections import Counter

counts = Counter(c for c in 'users' if c in 'USA, Canada, China')
for k,v in counts.iteritems():
    print(k,v)

语法
{username:“user1”,state:“USA”},
仅在
javascript
中有效,在python中,您还需要在键周围加引号:
{“username”:“user1”,“state”:“USA”},


您还可以迭代
'users'
,这是一个字符串,您需要使用变量
users
,然后使用
c['part']

from collections import Counter

users = [
    {"username": "user1", "state": "USA"}, {"username": "user2", "state": "Canada"},
    {"username": "user3", "state": "China"}, {"username": "user4", "state": "China"},
    {"username": "user4", "state": "USA"},
]
counts = Counter(c['state'] for c in users)

for k, v in counts.items():
    print(k, v)

# iterate on descending count order
for k, v in counts.most_common():
    print(k, v)

语法
{username:“user1”,state:“USA”},
仅在
javascript
中有效,在python中,您还需要在键周围加引号:
{“username”:“user1”,“state”:“USA”},


您还可以迭代
'users'
,这是一个字符串,您需要使用变量
users
,然后使用
c['part']

from collections import Counter

users = [
    {"username": "user1", "state": "USA"}, {"username": "user2", "state": "Canada"},
    {"username": "user3", "state": "China"}, {"username": "user4", "state": "China"},
    {"username": "user4", "state": "USA"},
]
counts = Counter(c['state'] for c in users)

for k, v in counts.items():
    print(k, v)

# iterate on descending count order
for k, v in counts.most_common():
    print(k, v)

你面临什么问题?你面临什么问题?你不会去看医生然后说“我感觉不舒服”吧?请阅读,未定义的名称“username”是错误
。iteritems()
是python 2.7函数。它已重命名为
.items()
@12944qwerty谢谢您的帮助您面临哪些问题?您面临哪些问题?你不会去看医生然后说“我感觉不舒服”吧?请阅读,未定义的名称“username”是错误
。iteritems()
是python 2.7函数。它已重命名为
.items()
@12944qwerty谢谢您的帮助