我被告知
编写一个方法 freq(a),它返回一个字典,对于 a 中的每个唯一值 x,将 x 映射到 a 中 x 的出现次数。
这是我第一次使用字典,我尝试阅读以了解如何解决这个问题,但我不知道如何编写它..
这就是我认为我必须做的事情。 1. 创建一个包含两个值的字典。[x:y] 2. 评估列表。3.1 如果列表中的值不在字典中,则取值为 x:1 3.2 如果列表中的值在字典中,则取值为 y+1 4. 返回结果
这是你将如何解决这个问题吗?我将如何编码第 3 步?
我被告知
编写一个方法 freq(a),它返回一个字典,对于 a 中的每个唯一值 x,将 x 映射到 a 中 x 的出现次数。
这是我第一次使用字典,我尝试阅读以了解如何解决这个问题,但我不知道如何编写它..
这就是我认为我必须做的事情。 1. 创建一个包含两个值的字典。[x:y] 2. 评估列表。3.1 如果列表中的值不在字典中,则取值为 x:1 3.2 如果列表中的值在字典中,则取值为 y+1 4. 返回结果
这是你将如何解决这个问题吗?我将如何编码第 3 步?
不使用collections.Counter
or collections.defaultdict
:
def freq(a):
D = {}
for v in a:
D[v] = D.get(v, 0) + 1
return D
你几乎拥有它。要检查一个值是否在字典中,只需使用in
:
d = {1:2, 3:4}
print 1 in d # ==> True
print 2 in d # ==> False
然后,您所要做的就是使用适当地设置值d[x] = y
。