使用python dict时遇到问题。
class Solution():
def solve(self, A):
lst = {}
for i in A:
for c in i:
lst.setdefault(ord(c) - ord('0'), 0)
lst[ord(c) - ord('0')] += 1
return lst
但我无法输出默认值
如何获得dict中的所有键和值?
答案 0 :(得分:1)
你没有获得所有价值的原因是因为你从未真正经历过它们。要使setdefault
设置密钥,需要先调用它,否则它如何知道密钥应该是什么?
这就是为什么在你的第一个例子中,当你没有输入时,它输出一个空字典,而在你的第二个例子中,当你有输入12
时,字典只包含一个1
和2
。
如果您事先知道所有可能的值,我建议您先创建字典,然后填充它。
def solve(self, A):
lst = {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0}
# Though a cleaner but less clear way might be:
# lst = {key: 0 for key in range(10)}
for i in A:
for c in i:
lst[ord(c) - ord('0')] += 1
# side note you can also get the number with:
# lst[int(c)]