首页 > 解决方案 > 如何返回两个字典而不是返回集合?

问题描述

def foo():
    dict_1 = dict()
    dict_2 = dict()

    return dict_1, dict_2

print(foo())

结果:({}, {})

但是我需要{}, {}

怎么做?

我正在尝试从函数返回数据,但得到:

看:

[{
        'root': {
            'id': '17958765',

        }
    }, ({
        'lots': [{
                'purchaseNumber': '0873500000818004164'
            }
        ]
    }, {
        'PurchaseObjects': [{
            {
                'OKPD2_code': '123',
                'OKPD2_name': 'ffff'
            }
        ]
    })]

标签: python

解决方案


foo()将为您提供两个字典的 2 元组。获取返回值,并对元组进行索引或解包以单独访问您的两个字典。

def foo():
    dict_1 = dict()
    dict_2 = dict()

    return dict_1, dict_2

# Do either one of the following (indexing or unpacking)

# Indexing a tuple
return_value = foo()
dict_1 = return_value[0]
dict_2 = return_value[1]

# Unpacking a tuple
dict_1, dict_2 = foo()

在您给出的示例中,解包显然是更好的方法,但在某些情况下,您可能希望保留返回的元组并稍后通过索引访问其元素。


推荐阅读