假设我想创建一个字典,将数字映射到以这些数字结尾的小于 100 的数字,如下所示:
d = {}
for i in range(100):
r = i % 10
if r in d:
d[r] = d[r].append(i)
else:
d[r] = [i]
print d
首先,当 i 为 20 时, d[r] 显然是 NoneType 当我尝试附加到它时,会引发错误。为什么会这样?其次,我觉得我的方法效率低下,因为检查 r in d 是否没有传播的工作。像这样的东西会更好,我觉得:
case(d[r]) of
SOME(L) => d[r] = L.append(i)
| NONE => d[r] = [i]
有没有办法在 python 中使用这种逻辑?