我有这样一个dict
:
dict = defaultdict(list, {'a': [['1', '2', 'A', 'cat'],
['1', '3', 'A', 'dog']],
'b': [['1', '2', 'A', 'cat'],
['1', '3', 'A', 'dog']],
'c': [['1', '2', 'A', 'cat'],
['2', '2', 'A', 'snake'],
['2', '2', 'A', 'bird']]}
我想使用每个值的完整列表来获得重叠值的所有成对比较。(值列表中的每个位置必须匹配,才能将其视为键之间的匹配)
因为a
和b
共享['1', '3', 'A', 'dog']
而c
不共享,a/b: ['1', '3', 'A', 'dog']
。你知道吗
a
,b
,c
,全部共享['1', '2', 'A', 'cat']
,a/b/c: ['1', '2', 'A', 'cat']
。你知道吗
只有c
有['2', '2', 'A', 'snake']
,所以c: ['2', '2', 'A', 'snake']
首选输出是结合上述内容的字典,类似
combine_dict = {'a/b': ['1', '3', 'A', 'dog'], 'a/b/c': ['1', '2', 'A', 'cat'], 'c': [['2', '2', 'A', 'snake'], ['2', '2', 'A', 'bird']]}
您可以使用
collections.defaultdict
:输出:
相关问题 更多 >
编程相关推荐