Python不能在函数定义之外使用**

问题描述 投票:1回答:1

免责声明:我是Python新手。

如果您阅读this article,它会将**列为能够解压缩字典。我正在尝试这个。

  1. my_dict = {"key1": 1, "key2": {"inner_key": 3} }
  2. unpacked_dict = **my_dict

返回:SyntaxError: invalid syntax

我错过了什么?我知道**主要用于**kwargs,我的问题是**只能用于函数定义吗?

python kwargs
1个回答
3
投票

您可以使用它将其解压缩到其他词典中。它不会以我假设您尝试这样做的方式工作,这是从值中获取内部词典并使它们都属于同一级别。从您引用的文章:

例如,我们可以在向其添加新值时复制字典:

>>> date_info = {'year': '2020', 'month': '01', 'day': '7'}
>>> event_info = {**date_info, 'group': "Python Meetup"}
>>> event_info
{'year': '2020', 'month': '01', 'day': '7', 'group': 'Python Meetup'}

或者在覆盖特定值时复制/合并字典:

>>> event_info = {'year': '2020', 'month': '01', 'day': '7', 'group': 'Python Meetup'}
>>> new_info = {**event_info, 'day': "14"}
>>> new_info
{'year': '2020', 'month': '01', 'day': '14', 'group': 'Python Meetup'}

这是从Python 3.5+开始添加的,更多信息在PEP 448中。

© www.soinside.com 2019 - 2024. All rights reserved.