Python的dict.update()方法是否支持整数作为关键字参数?
问题解答
核心结论
不可以,你无法通过关键字参数的方式调用dict.update()更新键为整数类型的字典,原因如下:
- Python语法要求所有关键字参数的参数名必须是合法的Python标识符,而合法标识符只能由字母、下划线、数字组成,且不能以数字开头,更不能是纯数字,所以你直接写
3 = 'blabla'作为参数本身就是语法错误,根本过不了解释器的语法检查。 - 就算你用合法的标识符作为关键字参数名,传入
update方法后,参数名会被自动转换为字符串类型的键,不会变成整数。比如你给出的第一个可运行示例执行后,新增的键是字符串'k3'、'k4',而非整数3、4,完全不符合更新整数键的需求。
整数键的正确更新方式
如果需要更新整数类型的键,可以给update方法传入字典或者键值对序列,示例如下:
dict1 = {1: 'cat', 2: 'dog'} # 方式1:传入字典 dict1.update({3: 'blabla', 4: 'blabla'}) # 方式2:传入包含键值对的可迭代对象 dict1.update([(3, 'blabla'), (4, 'blabla')]) print(dict1)
内容的提问来源于stack exchange,提问作者user3112576
相关产品推荐
相关产品推荐

