私は、キーが整数で値がリストである辞書を持っています。 list[0]
の最低値を持つ上位n個の辞書エントリを持つ新しい辞書を返したいと思います。私はこの辞書のリストの最大値を見つける - python
{1: [5, 'hello'], 2: [6, 'hi'], 3: [2, 'hey']}
などの辞書を持っており、nは2であるならば、それは戻ってくる例えば
、
{1: [5, 'hello'], 3: [2, 'hey']}
私は、キーが整数で値がリストである辞書を持っています。 list[0]
の最低値を持つ上位n個の辞書エントリを持つ新しい辞書を返したいと思います。私はこの辞書のリストの最大値を見つける - python
{1: [5, 'hello'], 2: [6, 'hi'], 3: [2, 'hey']}
などの辞書を持っており、nは2であるならば、それは戻ってくる例えば
、
{1: [5, 'hello'], 3: [2, 'hey']}
これはそれを行う必要があります。
from heapq import nsmallest
from operator import itemgetter
d = {1: [5, 'hello'], 2:[6, 'hi'], 3:[2,'hey']}
smallestN = dict(nsmallest(2, d.items(), itemgetter(1)))
print(smallestN)
することができますまた、インポートせずにheapq
またはitemgetter
:
smallestN = dict(sorted(d.items(), key=lambda x: x[1][0])[:2])
まさに私が探していたものです!ありがとうございました:) –
@PaulRooneyあなたは正しいです - 助けてくれてありがとう。 – Darkstarone
あなたはそれを自分で試みましたか? –
はい、私はそれを行うよりスマートな方法があるのだろうかと思っています。恐らくその素敵なpythonの略語の一部を使用しています –