Skip to main content
 首页 » 编程设计

python之d.update(dict(a=1, b=2)) 和 d.update(dict ('a' =1, 'b' =2)) 有什么区别

2025年05月04日11傻小

我尝试了两种在 python 中更新字典的方法:

  1. d.update(dict(a=1, b=2)) 这个效果很好。
  2. d.update(dict('a'=1, 'b'=2)) 但是,这种方式给了我一个 语法错误:关键字不能是表达式 第二个陈述有什么问题?为什么它必须是 a 而不是 'a'? 谢谢。

请您参考如下方法:

函数调用中的参数必须是标识符,不能是字符串常量。

出于同样的原因你不能写:

"a" = 1 

你也不能调用函数

dict("a"=5) 

改为写:

a = 5 
dict(a=5) 

如果需要从字符串常量创建字典,请使用文字语法:

{"a": 5, "b": 17} 

如果调用函数时需要使用字符串作为变量名,语法就有点奇怪了:

func(**{"a": 5}) # more or less equivalent to func(a=5) 

但请注意,.update 函数可以这样调用:

d.update(a=1, b=2)