2017-09-08 8 views
-1
values = { 
     4 : review, 
     5 : enter, 
     2 : help, 
     9 : hello, 
     1 : happy, 
} 

辞書をソートし、リストに抽出

は私が

values = { 
     1 : happy, 
     2 : help, 
     4 : review, 
     5 : enter, 
     9 : hello, 
} 

を得ることを私はその後、私は2番目の部分を抽出したいので、私は辞書のキーをソートすることができますしたいと思い

言葉(幸せ、助け、見直し、入力、こんにちは)、彼らの順序でリストに!

私は、その結果

test = sorted(values) 
print(test) 

試してみました:正しい順序ですが、文字列値を取得する方法をどの[1,2,4,5,9]

を?

+0

のリスト内の両方の結果:

v = [d[k] for k in sorted(d)] print(v) 

、より効率的に(2の)私たちがあなたのためにいくつかのコードを書いてくれるように思えます。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常、ポスターが既に問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、予想される出力、実際に得られる出力(コンソール出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ]と[ask]を確認してください。 – MooingRawr

+0

辞書をソートすることはできません。それらは順序付けられていないデータ構造です。 –

+0

[SO]に関するこの疑問の考えられるすべての変形に対する約百万の答えもあります。ただそれを探してください。 – pvg

答えて

0

私はあなたとで取得している考えるものである(辞書は順序付けられていないとして、あなたは「辞書を並べ替える」ことはできませんが、それぞれのキーでソートされた辞書に値のリストを取得することができます"文字列の値を取得するにはどうすればいいですか?") - 既に自分でソートされたキーのリストを取得したのと同じです。

つの方法は、心に、より明白に来る:

v = [v for (k,v) in sorted(d.items())] 
print(v) 

['happy', 'help', 'review', 'enter', 'hello'] 
+0

正しい答えへの説明できないdownvote:考え: – jedwards

+0

私のdownvoteではありませんが、私はかなりの理由がこのリストで見つけることができると確信しています:1)無回答の質問に答えました2)明白な重複に答えました –

+0

このような重複には一日中答えます。この複雑さの重複に答えるのに20秒かかりますが、このタイプの元の*質問を見つけるのにかなり時間がかかります。 Meh。 – jedwards

-2
test = sorted(values.items()) 
print(test) 

data = [val for (key,val) in sorted(values.items())] 
print(data) 
+0

コードのみを提供するオリジナルのポスターを本当に助けません。コメントを追加してください。 –

関連する問題