###実現したいこと
3次元配列をリストwaru
の値のついてソートしたいです。
めざしている実行結果は
waru=[3.0, 4.0, 6.0, 5.0, 2.0] ijkari=[[10, 21, 5, 30, 5], [30, 84, 30, 150, 10], [3.0, 4.0, 6.0, 5.0, 2.0]] ij=[[5, 10, 21, 30, 5], [10, 30, 84, 150, 30], [2.0, 3.0, 4.0, 5.0, 6.0]]
waru
の中身が現在[3.0, 4.0, 6.0, 5.0, 2.0]
なので同時にリストijkari
の値を同時に並べ替えたい。
|pi|10|21|5|30|5|
|:--|:--:|--:|
|wi|30|84|30|150|10|
|waru|3|4|6|5|2|
から
|pi|5|10|21|30|5|
|:--|:--:|--:|
|wi|10|30|84|150|30|
|waru|2|3|4|5|6|
一番下のwaru
に応じてpi,wi
も並びが変わっているとういうような並べ替えをしたいです。
###問題点
waru
の値でソートされていない。
求めている実行結果にする方法を教えてください。
5 10 21 30 5 10 30 84 150 30 waru= [3.0, 4.0, 6.0, 5.0, 2.0] ijkari= [[10, 21, 5, 30, 5], [30, 84, 30, 150, 10], [3.0, 4.0, 6.0, 5.0, 2.0]] ij= [[10, 21, 5, 30, 5], [3.0, 4.0, 6.0, 5.0, 2.0], [30, 84, 30, 150, 10]]
###コード
python
1from operator import itemgetter 2 3pi=[int(i) for i in input().split()] 4wi=[int(j) for j in input().split()] 5pin=len(pi) 6win=len(wi) 7 8waru=[] 9for i in range(pin): 10 w=wi[i]/pi[i] 11 waru.append(w) 12print("waru=",waru) #確かめ 13#pi,wiをwi/piについてソートする(3次元配列) 14ijkari=[] 15ijkari=[pi,wi,waru] 16print("ijkari=",ijkari) 17ij=sorted(ijkari,key=itemgetter(2)) 18print("ij=",ij)
回答2件
あなたの回答
tips
プレビュー