【发布时间】:2019-06-17 22:40:14
【问题描述】:
我有一个这样的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']]}
【问题讨论】:
标签: python list dictionary key