[解決済み] 辞書に索引をつけるには?
2022-03-03 12:58:16
質問
以下のような辞書があります。
colors = {
"blue" : "5",
"red" : "6",
"yellow" : "8",
}
辞書の最初の項目をインデックス化するには?
colors[0]
が返されます。
KeyError
というのは、明らかな理由です。
解決方法は?
Python 3.6 までのバージョンでは、辞書は順序付けされていません。 エントリの順序を気にせず、とにかくインデックスでキーや値にアクセスしたい場合は、辞書のキーのリストを作成することができます
d
を使って
keys = list(d)
そして、リストのキーにインデックスでアクセスします。
keys[i]
で、関連する値は
d[keys[i]]
.
エントリの順番を気にする場合は、Python 2.7以降では以下のように記述します。
collections.OrderedDict
. またはペアのリストを使用する
l = [("blue", "5"), ("red", "6"), ("yellow", "8")]
キーでアクセスする必要がない場合。 (ところで、なぜ数字が文字列なのでしょうか?)
Python 3.7では、通常の辞書は順序付けされているので、辞書を作成する際に
OrderedDict
しかし、まだできます - 基本的に同じ型です)。 Python 3.6 の CPython 実装はすでにこの変更を含んでいましたが、言語仕様の一部ではないので、Python 3.6 では信頼することができません。
関連
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】Python 3.6+で辞書は順番に並びますか?
-
[解決済み] 取得する TypeError: 'dict_values' object does not support indexing when using python 3.2.3 [duplicate] タイプエラー: 'dict_values' オブジェクトはインデックス作成をサポートしていません。