我正在使用包含键:列表对的字典。列表具有可变长度,因为它们代表特定用户访问的资产。即:
{a:[0,3,4],b:[0,1,3,4,5]}
我有一个资产列表,我想检查每个用户。即:
[0,1,2,3,4,5,6]
如何根据主列表检查每个用户,以便我最终得到:
{a:[1,0,0,1,1,0,0],b:[1,1,0,1,1,1,0]}
对于用户访问过的每个资产,新列表返回1,对于每个错过的资产,它返回0.新列表应该都具有相同的主列表长度。
非常感谢, 塞恩
答案 0 :(得分:2)
你可以使用理解:
>>> d = {a: [0,3,4], b: [0,1,3,4,5]}
>>> master = [0,1,2,3,4,5,6]
>>> {k: [int(i in v) for i in master] for k,v in d.iteritems()}
{'a': [1, 0, 0, 1, 1, 0, 0], 'b': [1, 1, 0, 1, 1, 1, 0]}