奇妙なタイトルのために申し訳ありません、それをより良く説明する方法はわかりません(自由に編集できます)。Python:set1の各アイテムについて、値が1の他のアイテムを持つようにします
(効率的に)次の操作を実行する方法がわかりません。私は次の出力を取得したい、のは、私はセット{a,b,c}
を持っているとしましょう:私はPythonでの関数があると思われるので、
{a: {b,c}}
{b: {a,c}}
{c: {a,b}}
私はそうする方法を見つけましたが、私は(それが効率的/ニシキヘビではないと思います)そうするために:
set1 = {'a','b','c'}
output = []
for item in set1:
temp_set = set1.copy()
temp_set.remove(item)
output.append({item: temp_set})
print(output)
これが印刷されます:[{'b': {'c', 'a'}}, {'c': {'b', 'a'}}, {'a': {'b', 'c'}}]
私はここに特に非効率的な何かを見つけることができません。おそらく、要素の削除を避けるために、ループ内の最初の2行を 'temp_set = {x for set1 in x in!x!= item} 'に置き換えてください。 – Amadan