私がdictを持っているとしましょう。内部のキー/値がわかりません。for ループを実行せずにこのキーと値を取得するにはどうすればよいですか (dict には項目が 1 つしかありません)。
その場合、なぜ私が辞書を使用しているのか疑問に思われるかもしれません。API 全体に辞書があり、ユーザーが失われることは望ましくありません。一貫性の問題です。そうでなければ、リストとインデックスを使用していたでしょう。
私がdictを持っているとしましょう。内部のキー/値がわかりません。for ループを実行せずにこのキーと値を取得するにはどうすればよいですか (dict には項目が 1 つしかありません)。
その場合、なぜ私が辞書を使用しているのか疑問に思われるかもしれません。API 全体に辞書があり、ユーザーが失われることは望ましくありません。一貫性の問題です。そうでなければ、リストとインデックスを使用していたでしょう。
ジョブに適切なデータ型を使用してください。目標は、どこでも同じデータ型を使用することではなく、実行可能なコードを作成することです。
ディクショナリに 1 つのキーと 1 つの値しか含まれていない場合は、インデックスを作成して次のいずれかを取得できます。
key = list(d)[0]
value = list(d.values())[0]
または両方を取得するには:
key, value = list(d.items())[0]
list
Python 3 では.keys()
、 、.values()
および.items()
はリストではなく dict ビューを返すため、呼び出しが必要です。
もう 1 つのオプションは、シーケンス アンパックを使用することです。
key, = d
value, = d.values()
または両方同時に:
(key, value), = d.items()
イテレータを使用して辞書の最初の項目を取得するだけです
>>> d = {"foo":"bar"}
>>> k, v = next(iter(d.items()))
>>> k
'foo'
>>> v
'bar'
あなたはこれを行うことができます:
>>> d={1:'one'}
>>> k=list(d)[0]
>>> v=d[k]
Python 2 または 3 で動作
d.popitem()
キー、値のタプルを提供します。