免责声明:我是Python的新手。
如果您阅读this article,它将列出**
能够解开字典。我正在尝试这个。
my_dict = {"key1": 1, "key2": {"inner_key": 3} }
unpacked_dict = **my_dict
返回:SyntaxError: invalid syntax
我想念什么?我知道**
主要与**kwargs
一起使用,我的问题是**
只能在函数定义中使用吗?
答案 0 :(得分: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中。