程序在向函数argumen传递字典时显示TypeError

2024-04-16 13:00:15 发布

您现在位置:Python中文网/ 问答频道 /正文

def f(**kwargs):
   print(kwargs)

d = {'0': 'a', '1': 'b', '2': 'c', '3': 'd'}   
f(**d)   # {'0': 'a', '1': 'b', '2': 'c', '3': 'd'}

d = {0: 'a', 1: 'b', 2: 'c', 3: 'd'}   
f(**d)   # TypeError: f() keywords must be strings

这里,我在将dictionary键值更改为int type时得到TypeError。 我可以知道,为什么我会犯这个错误吗


Tags: dictionarydeftype错误bekwargsint键值
1条回答
网友
1楼 · 发布于 2024-04-16 13:00:15

第二种情况的问题是,你做的是

f(0 = 'a', 1 = 'b', 2 = 'c', 3 = 'd')

这没有多大意义,因为(正如错误中所报告的)变量标识符不能只用数字来命名。函数需要正确的变量标识符,但您使用的是数字,因此会引发错误

相关问题 更多 >