同様の形式に従う何百ものファイルを解析しています。このファイルから、2 つのキー、または値がセットになっている 3 つ以上のキーを含む辞書を作成します。とにかく、「Y」値を含むキーが常に存在します。そのキーについては、他のキーに存在する重複値を削除する必要があります。
キーが2つしかないという同様の問題があり、解決されました。Python:辞書内の異なるキーの値を比較してから重複を削除する方法は?
以下のコードは、ディクショナリに 2 つのキーがあり、2 つ以下の場合に正常に機能します。
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]
3 つのキーを使用する辞書の例ですが、解析されたファイルによっては、より多くのキーを使用できます。
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'])}