mydict`が空でなければ、任意の要素を次のようにしてアクセスします。
mydict[mydict.keys()[0]]
何か良い方法はありますか?
Python 3では、非破壊的かつ反復的に行われます。
next(iter(mydict.values()))
Python 2では、非破壊かつ反復的に行われます。
mydict.itervalues().next()
Python 2 と 3 の両方で動作させたい場合は、six
パッケージを使用します。
six.next(six.itervalues(mydict))
とはいえ、現時点ではかなり暗号化されているので、あなたのコードの方がいいと思います。
もしアイテムを削除したい場合は、そうしてください。
key, value = mydict.popitem()
ここでは、"first"は適切な用語ではないことに注意してください。 dict`は順序型ではないので、これは"any"アイテムです。
他の方もおっしゃっていましたが、辞書には順序が保証されていない(ハッシュテーブルとして実装されている)ため、「最初の項目」というものは存在しません。 例えば、最小のキーに対応する値が欲しい場合は、thedict[min(thedict)]
で実現できます。 キーが挿入された順番を気にする場合、つまり "first"が "insertliest"を意味する場合、Python 3.1 では colors.OrdedDict が使えます。
Python 3.7。 現在dictは挿入順です。
ディクショナリーの問題を抜きにしても、この方がいいかもしれません。
next(dict.itervalues())
こうすることで、アイテムの検索や使わないキーのリストの生成を避けることができます。
next(iter(dict.values()))