2016-03-20 11 views
1

私は文字列を作るために2つの別々のリストを組み合わせることによって作られた文字列のリストを持っています。学生リストは:最高の数で文字列のリストをソートする方法

['me: 9', 'him: 7', 'you: 9', 'her: 8']です。私は最高の数値でそれを並べ替えるにはどうすればよい

、すなわち

['me: 9', 'you: 9', 'her: 8','him: 7']

student_list = [] 
for x, y in zip(files, scores): 
    student_result = (x + ": " + y) 
    student_list.append(student_result) 

これは、2つのリストを結合するためのコードです。これが変わる必要があるかどうかはわかりません。

答えて

1

このお試しください:

student_list.sort(key=lambda x: int(x[-1]), reverse=True) 

print(student_list) 

たり、元のリストを変更しない場合:

sorted_student_list = sorted(student_list, key=lambda x: int(x[-1]), reverse=True) 

print(sorted_student_list) 

その後、再び、それはおそらくのリストにリストを組み合わせることがより理にかなっているとタプル:その後、

student_list = [] 
for x, y in zip(files, scores): 
    student_result = (x, int(y)) 
    student_list.append(student_result) 

print(student_list) 

とあなたのsort/でkey=lambda x: x[1]を使用3210機能です。

+0

これは動作しますが、[( 'me'、9)、( 'you'、9)、( 'her'、8)、( 'him'、7)]と表示されます。どのように私は['私:9'、 'あなた:9'、 '彼女:8'、 '彼:7']、すなわち1つの結合された文字列として印刷するのですか? – Eric1108

+0

あなたはすでに1つの文字列として持っていました。私の答えの後半は "から始まる"その後... " –

+1

最初のキーを使用する' key = lambda x:int(x [-1]) ' –

関連する問題