2017-10-23 9 views
0

マッピングで配列をソートできます。しかし、どのように私はsの動的マップの未知数のラムダを構築することができますか?ラムダの複数の動的ソート値

l = ['1','2','3'] 
s = [{ '3':'a', '2':'a', '1':'c'},{ '3':'z', '2':'a', '1':'b'},{ '1':34, '2':123, '3':1000}] 

sorted(l, key=lambda x: (s[0][x], s[1][x], s[2][x])) 

答えて

0

はい、あなたはsに反復処理し、リストの内包表記を使用してキーを作成することができたときに、これをハードコーディングする理由:

sorted(l, key=lambda x: [p[x] for p in s]) 
今鍵が list、もはや tupleですが、それは」doesnの

(ノート彼らは同じ注文を共有しているので問題ない)

+0

時には物事はとてもシンプルです:)ありがとう! – monocult