有什么方法可以在 Python 中解构字典,就像 JS中的 es6 一样?



如果我有这样的字典:

dict1 =  {'version': 0, 'name': 'JSESSIONID', 'value': 'AFCF8A9D8AB9E7B701A4D60EE7D8C475.prdaccountc-108', 'port': None, 'port_specified': False, 'domain': 'signin.ea.com', 'domain_specified': False, 'domain_initial_dot': False, 'path': '/p', 'path_specified': True, 'secure': True, 'expires': None, 'discard': True, 'comment': None, 'comment_url': None, 'rfc2109': False, '_rest': {'HttpOnly': None, 'SameSite': 'None'}}

我想解构该字典并得到这样的值:

version, name, value = dict1

而不是这样做:

version = dict1["version"]
name = dict1["name"]
value = value["value"]

当我尝试这样做时,我得到值错误:太多值要解压缩

from operator import itemgetter
params = {'a': 1, 'b': 2}
a, b = itemgetter('a', 'b')(params)

以及使用内置库。

你可以使用dict.values(),确保顺序是你想要的(Python>= 3.6(:

version, name, value = dict1.values()

如果dict1的长度大于接收方的数量,则尝试:

version, name, value, *other = dict1.values()

您可以使用函数中的**kwargs来破坏字典:

def destructor(**kwargs):
# You can access any of your dict keys directly
# For example:
print(port, value)
destructor(dict1) # output: AFCF8A9D8AB9E7B701A4D60EE7D8C475.prdaccountc-108 None

最新更新