【发布时间】:2015-11-24 19:12:12
【问题描述】:
alist = [5, 7, 6, 2, 9, 1, 7]
D = {}
为列表中的每个唯一数字设置一个新键 对于字典中的每个键,计算该键的数量并设置为值
这应该看起来像 {5:1, 2:1, 6:1, 9:1, 1:1, 7:2}
算法:
For each number n on the input list:
∗ If n in count: set count[n] to count[n] + 1
∗ else: set count[n] to 1
我不知道该怎么做。谁能告诉我怎么做?
尝试:
for number in alist:
if number in D:
D[number] = D[number]+1
else:
D[number] = 1
错误:
Traceback (most recent call last): File "<pyshell#15>", line 3, in
<module> D[number] = D[number]+1 KeyError: 5
【问题讨论】:
-
欢迎来到 Stack Overflow!您似乎在要求某人为您编写一些代码。 Stack Overflow 是一个问答网站,而不是代码编写服务。请see here学习如何写出有效的问题。
-
我是新手,我正在尝试。我试着把它写出来,但我得到了一个错误。这就是我的意思:对于 alist 中的数字:如果 alist 中的数字:D[number] = D[number+1] else: D[number] = 1
-
将
D[number+1]中的+1移动到括号外,如D[number]+1,或者将该行更改为D[number]+=1 -
您应该在遇到错误时发布带有问题的 Traceback 以及您尝试解决问题的代码。
-
谢谢你们,对不起。就像我说的,我是编程和这个网站的新手。让我对 R Nar 提出的建议稍加研究一下,然后我会将结果发布回来。
标签: python list dictionary key