gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:03 28 4
gpt4 key购买 nike

免责声明:我是 Python 新手。

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

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

返回:SyntaxError:语法无效

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

最佳答案

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

For example we can copy a dictionary while adding a new value to it:

>>> 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'}

Or copy/merge dictionaries while overriding particular values:

>>> 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 中.

关于Python 不能在函数定义之外使用 **,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55765138/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com