dictリテラルとdictコンストラクタの使用には違いがありますか? 質問する

dictリテラルとdictコンストラクタの使用には違いがありますか? 質問する

PyCharm を使用すると、辞書リテラルを変換できることに気付きました。

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

辞書コンストラクタに:

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

これらの異なるアプローチは、何らかの重要な点で異なるのでしょうか?

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

ベストアンサー1

最も明白な違いを指摘したと思います。それ以外では、

最初のものは検索する必要がないのでdict、少し速くなるはずです

2番目はを検索しdictlocals()次にglobals()組み込みを見つけるので、dictたとえばと呼ばれるローカルを定義することで動作を切り替えることができますが、デバッグ時を除いてこれが良いアイデアになる場所は思いつきません。

おすすめ記事