たとえば、辞書が{0:0, 1:0, 2:0}
の場合、リストは[0, 0, 0]
となります。どのように辞書をリストに変換しますか?
これが不可能な場合は、どのようにしてディクショナリの最小値をとりますか?つまり、辞書:{0:3, 1:2, 2:1}
は1
を返しますか?
たとえば、辞書が{0:0, 1:0, 2:0}
の場合、リストは[0, 0, 0]
となります。どのように辞書をリストに変換しますか?
これが不可能な場合は、どのようにしてディクショナリの最小値をとりますか?つまり、辞書:{0:3, 1:2, 2:1}
は1
を返しますか?
あなたは、単にで最小を取ることができます:
min(dic.values())
そしてでリストに変換します
list(dic.values())
しかし辞書には、の順順不同であるため、結果のリストの要素は未定義です。 python-2.7で
あなたは単にdic.values()
list(..)
を呼び出す必要はありません十分であろう。
dic.values()
>>> a = {0:0, 1:2, 2:4}
>>> a.keys()
[0, 1, 2]
>>> a.values()
[0, 2, 4]
yeah 2番目の後にそれを見た:p –
あなたは*クイック*です! :D –
辞書は以下のように定義されます。
dict{[Any]:[Any]} = {[Key]:[Value]}
あなたの質問に問題がありますキーが何であるかを明確にしていないこと
1:キーが単なる数字で、の隙間のない昇順であると仮定すると、、dict.values()
で十分です。他の著者が既に指摘しているとおりです。
2:
i = 0
list = []
while i < max(mydict.keys()):
list.append(mydict[i])
i += 1
3:厳密に昇順に鍵を想定すると数字だけですがない:
はまだあり キーは、厳密に昇順ではなく、正しい順序で数字だけされていると仮定すると、方法はありますが、最初にキーを取得し、最大のキーとtry-except
ブロック
4:これらのいずれも該当しない場合は、おそらくdict
はあなたが探しているものではなく、2dまたは3d配列で十分でしょうか? これはまた、ソリューションの1つが機能するかどうかを数えます。 Dict
はあなたがやっていることのために悪い選択のようです。
'i ++'は有効ではありませんPython – Copperfield
Ups、申し訳ありません。私のスウィフトの影響... – Narusan
また、最小/最大を見つけるためにお互いに比較することができる以外のキー(または値)について何も仮定する必要はありません、あなたはいくつかの奇妙な接線に行く – Copperfield
リストにdictionaryの変換は非常に簡単です、あなたは3つのその.keys()
ための味、.values()
と.items()
>>> test = {1:30,2:20,3:10}
>>> test.keys() # you get the same result with list(test)
[1, 2, 3]
>>> test.values()
[30, 20, 10]
>>> test.items()
[(1, 30), (2, 20), (3, 10)]
>>>
(のpython 3にあなたがそれらのリストを呼び出す必要があります)
発見を持っていますminまたはmaxファンクションの最大値または最小値も簡単です。
>>> min(test.keys()) # is the same as min(test)
1
>>> min(test.values())
10
>>> min(test.items())
(1, 30)
>>> max(test.keys()) # is the same as max(test)
3
>>> max(test.values())
30
>>> max(test.items())
(3, 10)
>>>
(パイソン2に、効率的に、代わりにそれらの.iter*バージョンを使用)
最も興味深いものは、最小/最大値のキーを見つけることですし、最小/最大があまりにも
>>> max(test.items(),key=lambda x: x[-1])
(1, 30)
>>> min(test.items(),key=lambda x: x[-1])
(3, 10)
>>>
をそのカバーを得ました
ここでは、主関数に何を与えても、それを比較したい要素(それを他のものに変換することもできます)を返す関数であるキー関数が必要です。
lambdaはあなたにこの
>>> def last(x):
return x[-1]
>>> min(test.items(),key=last)
(3, 10)
>>>
.items()は天才です。私はそのようなことが存在するのか知らなかった。ありがとう! – Narusan
'dict.values()'リストとしてあなたに値を与える(多かれ少なかれ) –
可能な複製を行うことの必要性を保存defineanonymous機能への道であります[Python:dictから値のリストを取得する最も簡単な方法](http://stackoverflow.com/questions/16228248/python-simplest-way-to-get-list-of-values-from-dict) –