python - 如何将字典分配给另一个字典?

标签 python function dictionary

所以我想创建一个函数来接受字典的值,创建新的字典并返回它。然后我想在代码的其他地方分配该值。但我得到类型错误 dict object is not callable。我怎样才能做到这一点?

def shoe(brand, model):
    shoe = {}
    shoe['brand'] = brand
    shoe['model'] = model
    return shoe


 shoes_list = []
 shoe = {}

 shoe = shoe('Some Brand', 'Some model')

 print(shoe)

最佳答案

def shoe(brand, model):

此处创建一个名为 shoe 的函数。

    shoe = {}

现在您创建一个名为 shoe 的变量并为其分配一个字典。这还不是问题,因为这个变量是函数内部的本地变量。然而,以这种方式重复使用相同的名称可能会非常困惑。我建议更改此变量的名称。

    shoe['brand'] = brand
    shoe['model'] = model
    return shoe


 shoes_list = []
 shoe = {}

现在,您将重新分配名称 shoe 以引用空字典,而不是它过去引用的函数。这将导致稍后使用 shoe() 调用函数失败。


 shoe = shoe('Some Brand', 'Some model')

然后尝试将函数的返回值分配给名称 shoe()。我认为这是函数调用失败的地方。请注意,如果解决此问题,则根本不需要 shoe = {}


 print(shoe)

您对两个不同的事物使用相同的名称:一次用于函数名称,一次用于字典名称。使用两个不同的名称来解决问题。一般来说,函数名应该是动词。因此,您可以对函数名称执行 get_shoe()create_shoe() 操作。然后在字典中使用名词shoe就可以了。

关于python - 如何将字典分配给另一个字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58564911/

相关文章:

arrays - 为什么按索引访问此 json 子元素会引发此错误?

python - Django:修改基于类的 View 上下文(使用 **kwargs)

HTML 中的 Python 脚本

python - 如何缩短这个二维数组代码?

c# - 函数包装另一个函数

javascript - 尝试在表中调用 Javascript 函数但无法使其工作

python - pygame.init() 什么时候会返回 (6,0) 以外的东西?

c - 编写一个函数来检查其参数(正整数)是否是完全平方数。然后将此函数应用于正整数 vector

Python "valueless"字典

python - 如何忽略传递给函数的意外关键字参数?