[解決済み】Python辞書の理解力
2022-03-23 18:37:11
質問
Pythonで辞書の内包(キー)を作ることはできますか?
リスト内包がなければ、このようなものを使うことができます。
l = []
for n in range(1, 11):
l.append(n)
これをリスト内包に短縮することができる。
l = [n for n in range(1, 11)]
.
しかし、辞書のキーに同じ値を設定したいとします。 できるのは
d = {}
for n in range(1, 11):
d[n] = True # same value for each
試してみました。
d = {}
d[i for i in range(1, 11)] = True
しかし、私は
SyntaxError
の上に
for
.
さらに(この部分は必要ないのですが、ちょっと気になったので)、次のように、辞書のキーをたくさんの異なる値に設定することができます。
d = {}
for n in range(1, 11):
d[n] = n
これは辞書の内包で可能なのでしょうか?
d = {}
d[i for i in range(1, 11)] = [x for x in range(1, 11)]
また、これは
SyntaxError
を使用します。
for
.
解決方法は?
があります。 Python 2.7+ の辞書内包機能 しかし、あなたが考えているようにはいきません。 リスト内包のように、これらは 新しい 既存の辞書にキーを追加することはできません。 また、キーと値を指定しなければならない。もちろん、ダミーの値を指定することも可能であるが。
>>> d = {n: n**2 for n in range(5)}
>>> print d
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
すべてTrueにしたい場合。
>>> d = {n: True for n in range(5)}
>>> print d
{0: True, 1: True, 2: True, 3: True, 4: True}
あなたが求めているのは、既存の辞書に複数のキーを一度に設定する方法だと思われます。 そのための直接的なショートカットはありません。 すでに示したようにループさせることもできますし、辞書内包を使って新しい値で新しいdictを作成し、それから
oldDict.update(newDict)
を使用して、新しい値を古いdictにマージします。
関連
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] リスト内包型辞書の作成
-
[解決済み] リスト内包のif/else
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
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コンテナのための組み込み汎用関数操作
-
python string splicing.join()とsplitting.split()の説明
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み] Pythonで、画像のexifデータを読むにはどうしたらいいですか?