多层,树状字典:defaultdict
from collections import defaultdict
id_names_times = defaultdict(#id
lambda :defaultdict(#name
lambda :int
))
#定义树状字典
id_names_times['qq'] = 'asd'
id_names_times['ww']['qwe']=1
#只有直接调用没得返回才会直接创建,直接在第一层赋值,可以当做普通字典来用
print(id_names_times)
print(id_names_times.items())
#使用方式与普通字典完全相同
for movie, users in movie2users.items():
for u in users:
for v in users:
if u == v:
continue
usersim_mat.setdefault(u, {})
# 如果有,则在字典里查找u,没有就新建一个{}作为value
usersim_mat[u].setdefault(v, 0)
# 如果有,则在字典里查找v,没有就新建一个{}作为value
usersim_mat[u][v] += 1