如何在python中传递dictionary对象作为函数的参数

2024-04-19 05:04:47 发布

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

我想把dictionary对象作为参数传递给函数。我读了一些帖子,人们建议使用**kwargs作为参数,但是当我使用这个关键字时,它会生成一个新的字典,而不是将我的字典传递给函数。在

你能帮我找到一个方法把我的整个dictionary对象作为变量传递吗。这是我尝试使用的示例代码

my_dic={test:list1[],
        train:list2[]}

def prt(**kwargs):
    for txt in kwargs[test]:
        print(txt)

prt(my_dic)

谢谢你


Tags: 对象方法函数testtxt参数dictionary字典
3条回答

您可以将字典作为参数传递给其他类型的变量:

def prt(test):
    #If you call prt with a dictionary as parameter, test will be a dictionary

与其他类型的变量不同的是,如果你在函数内部修改一个字典,它将在外部被修改。在

函数def prt(**kwargs)允许您传递任意数量的关键字参数(即格式为“name=value”的参数)。以下是如何定义和调用它:

def prt1(**kwargs):
    print(kwargs['test'])

prt1(test = ['A', 'B', 'C' ,'D'], train = [1, 2, 3, 4])
# ['A', 'B', 'C', 'D']

显然可以使用函数def prt(aDict):它允许您将单个对象(这里是字典)作为参数传递。以下是如何定义和调用它:

^{pr2}$

dict是一个内置类型;没有额外的“魔力”可以将dict作为函数参数传递。试试这个:

def prt(param):
    for txt in param["test"]:
        print(txt)

my_dic={"test" :[2, 3, 5, 7, 11, 13, 17, 19],
        "train":[1, 2, 3, 5, 8, 13, 21, 34]}

prt(my_dic)

输出:

^{pr2}$

相关问题 更多 >