免责声明:我是Python新手。
如果您阅读this article,它会将**
列为能够解压缩字典。我正在尝试这个。
my_dict = {"key1": 1, "key2": {"inner_key": 3} }
unpacked_dict = **my_dict
返回:SyntaxError: invalid syntax
我错过了什么?我知道**
主要用于**kwargs
,我的问题是**
只能用于函数定义吗?
您可以使用它将其解压缩到其他词典中。它不会以我假设您尝试这样做的方式工作,这是从值中获取内部词典并使它们都属于同一级别。从您引用的文章:
例如,我们可以在向其添加新值时复制字典:
>>> 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中。