1. ホーム
  2. パイソン

[解決済み】dictリテラルとdictコンストラクタの使い方に違いはあるのか?

2022-04-06 09:01:02

質問

PyCharmを使用すると、PyCharmが提供する ディクショナリ :

d = {
    'one': '1',
    'two': '2',
}

にしています。 ディクトコンストラクタ :

d = dict(one='1', two='2')

これらの異なるアプローチには、何か重要な違いがあるのでしょうか?

(この質問を書いていて気づいたのですが dict() は、数値キーを指定することができないようです。 d = {1: 'one', 2: 'two'} は可能ですが、明らかに dict(1='one' ...) はありません。他に何かありますか?)

解決方法は?

一番わかりやすい違いをご指摘いただいたと思います。それとは別に

を検索する必要はありません。 dict これで少しは速くなるはずだ

2つ目のルックアップは dictlocals() で、次に globals() というローカルを定義することで、ビルトインを見つけることができます。 dict 例えば、デバッグの時以外にはあまり良いアイデアとは思えません。