質問編集履歴
1
監督、審判などのあいまいな表現を避け、名前をすべてアルファベット一文字に変更して見やすくしました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,31 +1,25 @@
|
|
1
1
|
### 実現したいこと
|
2
2
|
|
3
|
-
|
3
|
+
mydict = { ('A', 'B'): { 'G', 'H' },('C', 'D'): { 'I', 'H' },('E', 'F'): { 'G' }}
|
4
|
+
上記のような辞書を与えられたとき重複している値を修正して以下のようなそれぞれのキーに一意の値が割り当てられている形に変更したいです。🙇♂️
|
4
|
-
|
5
|
+
mydict = { ('A', 'B'): { 'H' },('C', 'D'): { 'I' },('E', 'F'): { 'G' }}
|
5
6
|
|
6
|
-
lists = { ('田中', '山田 '): { '佐藤 ' },('伊藤', '鈴木 '): {'山田' },('佐藤', '田中 '): { '鈴木 ' }}
|
7
|
-
このように監督はいわゆるキーとして設定したいため、重複している要素を取り除きたいです。🙇♂️
|
8
7
|
### 前提
|
9
8
|
importはなしでお願いします💦
|
10
9
|
|
11
10
|
手順:
|
12
|
-
#入力リスト
|
13
|
-
|
11
|
+
mydict = { ('A', 'B'): { 'G', 'H' },('C', 'D'): { 'I', 'H' },('E', 'F'): { 'G' }}
|
14
12
|
|
15
|
-
#
|
13
|
+
#辞書内で重複していてペアがいるものを探してもしいたら消す。
|
16
|
-
#
|
14
|
+
#値{ 'G' }を消してしまうと('E', 'F')の値がなくなるので('A', 'B')の値{ 'G', 'H' }の'G'をけす。
|
17
|
-
|
15
|
+
mydict = { ('A', 'B'): { 'H' },('C', 'D'): { 'I', 'H' },('E', 'F'): { 'G' }}
|
18
16
|
|
19
|
-
#上記のことを繰り返す。
|
20
|
-
#
|
17
|
+
#値{ 'H' }を消してしまうと('A', 'B')の値がなくなるので('C', 'D')の値{ 'I', 'H' }の'H'をけす。
|
21
|
-
|
18
|
+
mydict = { ('A', 'B'): { 'H' },('C', 'D'): { 'I', 'H' },('E', 'F'): { 'G' }}
|
22
19
|
|
23
|
-
上記の手順をいくつかの同じような
|
20
|
+
上記の手順をいくつかの同じような辞書で試せるようにしたいです。
|
24
|
-
また、以下のような一意にできない
|
21
|
+
また、以下のような値を一意にできない辞書の場合はNoneを返したいです。
|
25
|
-
|
22
|
+
mydict = { ('A', 'B'): { 'E' },('C', 'D'): { 'E' }}
|
26
|
-
('佐藤', '山田 '): { '伊藤', '田中' },
|
27
|
-
('伊藤', '田中'): { '佐藤 ' },
|
28
|
-
('山田 ', '田中'): set()}
|
29
23
|
|
30
24
|
長くなりましたがよろしくお願いします。🙇♂️
|
31
25
|
### 発生している問題・エラーメッセージ
|
@@ -37,10 +31,10 @@
|
|
37
31
|
### 該当のソースコード
|
38
32
|
|
39
33
|
```python
|
40
|
-
#
|
34
|
+
#キーを格納
|
41
35
|
newlist = {}
|
42
36
|
|
43
|
-
#
|
37
|
+
#値を抽出
|
44
38
|
new_list = {}
|
45
39
|
for item_set in games.values():
|
46
40
|
new_list.append(list(item_set))
|
@@ -55,13 +49,13 @@
|
|
55
49
|
|
56
50
|
i = 0
|
57
51
|
for step in len(new_list ):
|
58
|
-
newlist[i] = {result[i]}#
|
52
|
+
newlist[i] = {result[i]}#重複していない値を埋め込む
|
59
53
|
i = i + 1
|
60
54
|
```
|
61
55
|
|
62
56
|
### 試したこと
|
63
|
-
|
57
|
+
該当のソースコードではキーと値を一度分解して値が重複しているものを探そうとしたものですが。そもそもの考え方が間違っているかもしれないので役に立たないかもしれないです。💦
|
64
|
-
|
58
|
+
値を抽出、比較して一意になった後にもう一度値をもとのキーに割り当てればいいと思っていましたが、重複している値を検索、消去する方法がわからなくて止まっています。
|
65
59
|
|
66
60
|
### 補足情報(FW/ツールのバージョンなど)
|
67
61
|
使用しているのはpython(3.10.6)
|