我告诉词典 - Python的
写方法频率(一)返回一个字典,对于在每个唯一 值x,地图X到数在a中出现x的次数。
这是我第一次与字典工作,我试着读了,看我怎么会攻击这个问题,但我不知道如何代码吧..
这是什么,我相信我必须这样做。 1.创建一个包含两个值的词典。 [x:y] 2.评估列表。 3.1如果在列表中的值是不在字典中,使x的值:1 3.2如果在列表中的值是在词典,使y值+ 1 4.返回结果
是这你会怎么做这个问题? 我将如何编码第3步?
我告诉词典 - Python的
写方法频率(一)返回一个字典,对于在每个唯一 值x,地图X到数在a中出现x的次数。
这是我第一次与字典工作,我试着读了,看我怎么会攻击这个问题,但我不知道如何代码吧..
这是什么,我相信我必须这样做。 1.创建一个包含两个值的词典。 [x:y] 2.评估列表。 3.1如果在列表中的值是不在字典中,使x的值:1 3.2如果在列表中的值是在词典,使y值+ 1 4.返回结果
是这你会怎么做这个问题? 我将如何编码第3步?
,而无需使用collections.Counter
或collections.defaultdict
:
def freq(a):
D = {}
for v in a:
D[v] = D.get(v, 0) + 1
return D
谢谢,你必须阅读.get,以前没见过。 – user1730056
你几乎拥有它。要检查的值是在字典中,只要使用in
:
d = {1:2, 3:4}
print 1 in d # ==> True
print 2 in d # ==> False
然后,所有你需要做的就是设定值适当地使用d[x] = y
。
在现实生活中,你会使用一个'collections.Counter' ...太糟糕了,这是功课... – nneonneo
其惊人的容易创建字典手动 - 如果我在L:如果D.has(i):D [i] ++';等等。 – mikebabcock
除此之外,这远不是有效的Python语法。 – nneonneo