python
list= [[[0.8, 太郎, 次郎], [0.7, 三郎, 明]] [[0.6, 花子, 咲良], [0.9, 太郎, 翔]]]
このような3次元のリスト(三郎 = list[0][1][1]となる)を昇順にするにはどうしたらよいでしょか?
昇順にソート後
list = [[[0.6, 花子, 咲良], [0.7, 三郎, 明]] [[0.8, 太郎, 次郎], [0.9, 太郎, 翔]]]
list = list.sort(key = lambda x:x[0])
をすると下記のエラーが出ました。
TypeError: Argument given by name ('key') and position (1)
3次元listの場合sortをどのように用いればよいのでしょうか?教えていただければ幸いです。
rat_lav = [] for i in range(84): tmp = [] for j in range(84): matcher = matching_hist(histtest[i:i+1, 0:], histrain[j:j+1, 0:]) matcher = float(matcher) tmp.append([matcher, i, j]) rat_lav.append(tmp) ``` で3次元となったrat_lavをmatcherで昇順にする方法がわからず質問させていただきました。
3次元でのソートということですが欲しい結果が分からないのですよね。[[[4, 'c'], [6, 'd']], [[7, 'b'], [4, 'a']], [[5, 'e'], [3, 'f']]] を元として欲しい結果はなんなのでしょうか?? [[[3, 'f'], [5, 'e']], [[4, 'a'], [7, 'b']], [[4, 'c'], [6, 'd']]] なのでしょうか? それとも別の結果?
結果として[[[3, 'f'], [4, 'a']], [[4, 'c'], [5, 'e']], [[6, 'd'] ,[7, 'b']]]を得たいです
なるほど。LouiS0616さんの回答が正しくて「2個ずつになっている理由がない」のですね。タブに開いている間に解決済みになっていたようで、余計なコメントをしてしまいました。すみません。
回答1件
あなたの回答
tips
プレビュー