前提・実現したいこと
親子関係が与えられているデータから、要素をグループ分けして、任意の要素がどのグループに属しているかを調査するプログラムを作りたいと思っています。
グループ分けの定義としては以下の通りです
親子関係で繋がっている末端の要素をグループ名として、そこに繋がる要素をグループの要素とする。下図のような場合以下のようなグループ分けとなる。
AーBーCーDーE
|
ーFーGーH
|
ーIーJーK
|
ーLーM
Eグループ:ABCD
Hグループ:ABCFG
Kグループ:ABCIJK
Mグループ:ABCILM
親子関係は以下のようなテーブルです。
Child, Parent
A,ー
B,A
C,B
D,C
E,D
F,C
G,F
H,G
I,C
J,I
K,J
L,I
M,L
試したこと
要素がどのグループに属するかについては以下のコードで調べられそうなのですが、
そもそもの親子関係のテーブルからグループわけする部分が手も足も出ないためアドバイス頂けますと幸いです。
Python3
1E=set('ABCD') 2H=set('ABCFG') 3K=set('ABCIJK') 4M=set('ABCILM') 5 6GroupDict = {'E': E, 'H': H, 'K': K, 'M': M} 7 8# Yousoがどのグループに属しているか調べる 9 10Youso = input() 11found = [] 12for k, v in GroupDict.items(): 13 if Youso in v: 14 found.append(k) 15print(Youso, 'のグループは', found) 16
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/14 05:13