Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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 3.x 将计数添加到dict值_Python 3.x_Dictionary - Fatal编程技术网

Python 3.x 将计数添加到dict值

Python 3.x 将计数添加到dict值,python-3.x,dictionary,Python 3.x,Dictionary,我试图得到一个{0:0,1:2,2:2,3:1,4:1}的结果,但是得到 TypeError:“int”对象不可编辑 任何善良的灵魂能指出我的错误吗?谢谢 您可能想这样做: arr = [1,1,3,2,2,4] d={i:[] for i in range(max(arr)+1)} for i in arr: if i in d.keys(): d[i] += 1 或者尝试更有效的方法(您将找不到不在数组中的键): 您可能想这样做: arr = [1,1,3,2,2

我试图得到一个{0:0,1:2,2:2,3:1,4:1}的结果,但是得到 TypeError:“int”对象不可编辑
任何善良的灵魂能指出我的错误吗?谢谢

您可能想这样做:

arr = [1,1,3,2,2,4]
d={i:[] for i in range(max(arr)+1)}

for i in arr:
    if i in d.keys():
        d[i] += 1
或者尝试更有效的方法(您将找不到不在数组中的键):


您可能想这样做:

arr = [1,1,3,2,2,4]
d={i:[] for i in range(max(arr)+1)}

for i in arr:
    if i in d.keys():
        d[i] += 1
或者尝试更有效的方法(您将找不到不在数组中的键):


您只需要更改列表的一部分,为每个数字创建0,直到最大数字,而不是空列表

from collections import Counter

arr = [1,1,3,2,2,4]
d = Counter(arr)
或者在
arr
列表和列表计数中使用最大数字范围的字典理解

arr = [1,1,3,2,2,4]

d={i:0 for i in range(max(arr) + 1)}

for i in arr:
  if i in d.keys():
     d[i] += 1
print(d)
输出

{v: arr.count(v) for v in range(max(arr) + 1)}

您只需要更改列表的一部分,为每个数字创建0,直到最大数字,而不是空列表

from collections import Counter

arr = [1,1,3,2,2,4]
d = Counter(arr)
或者在
arr
列表和列表计数中使用最大数字范围的字典理解

arr = [1,1,3,2,2,4]

d={i:0 for i in range(max(arr) + 1)}

for i in arr:
  if i in d.keys():
     d[i] += 1
print(d)
输出

{v: arr.count(v) for v in range(max(arr) + 1)}