1

我正在使用包含 key:list 对的字典。这些列表具有可变长度,因为它们代表特定用户访问的资产。IE:

{a:[0,3,4],b:[0,1,3,4,5]}

我有一个资产列表,我想检查每个用户。IE:

[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。新列表应该都具有与主列表相同的长度。

非常感谢, 塞恩

4

1 回答 1

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]}
于 2013-07-16T14:43:25.440 回答