我正在解析 100 个遵循类似格式的文件。从该文件中,我创建了一个字典,其中可能包含两个键或两个以上的键,其中值在一个集合中。无论如何,总会有一个包含“Y”值的键。对于该键,我需要删除其他键中存在的任何重复值。
我有一个类似的问题,我只有两个键,它已经解决了。Python:如何比较字典中不同键的值,然后删除重复项?
当字典有两个键但不超过两个时,以下代码可以正常工作。
for d, p in zip(temp_list, temp_search_list):
temp2[d].add(p) #dictionary with delvt and pin names for cell
for test_d, test_p in temp2.items():
if not re.search('Y', ' '.join(test_p)) :
tp = temp2[test_d]
else:
temp2[test_d] = [t for t in temp2[test_d] if t not in tp]
使用三个键的示例字典,但取决于解析的文件,我可以有更多的键。
temp2 = {'0.1995': set(['X7:GATE', 'X3:GATE', 'IN1']), '0.199533': set(['X4:GATE', 'X8:GATE', 'IN2']), '0.399': set(['X3:GATE', 'X5:GATE', 'X1:GATE', 'IN0', 'X4:GATE', 'Y', 'X8:GATE'])}
预期输出:
temp2
{'0.1995': set(['X7:GATE', 'X3:GATE','IN1']), '0.199533': set(['X4:GATE', 'X8:GATE', 'IN2']), '0.399': set(['X5:GATE', 'X1:GATE', 'IN0', 'Y'])}