Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';SyntaxError';在Python中解包dict时_Python - Fatal编程技术网

';SyntaxError';在Python中解包dict时

';SyntaxError';在Python中解包dict时,python,Python,当我尝试运行库的示例时,出现以下失败: ~/pychromecast $ python example.py Traceback (most recent call last): File "example.py", line 11, in <module> import pychromecast.controllers.youtube as youtube File "/home/pi/pychromecast/pychromecast/controllers/youtube.p

当我尝试运行库的示例时,出现以下失败:

~/pychromecast $ python example.py 
Traceback (most recent call last):
File "example.py", line 11, in <module>
import pychromecast.controllers.youtube as youtube
File "/home/pi/pychromecast/pychromecast/controllers/youtube.py", line 27
REQUEST_PARAMS_SET_PLAYLIST = {**BASE_REQUEST_PARAMS, **SET_PLAYLIST_METHOD}
                                ^
SyntaxError: invalid syntax
~/pychromecast$python example.py
回溯(最近一次呼叫最后一次):
文件“example.py”,第11行,在
将pychromecast.controllers.youtube导入为youtube
文件“/home/pi/pychromecast/pychromecast/controllers/youtube.py”,第27行
REQUEST_PARAMS_SET_PLAYLIST={**BASE_REQUEST_PARAMS,**SET_PLAYLIST_METHOD}
^
SyntaxError:无效语法

我试过在Python2和Python3中运行这个。这里出了什么问题?

这个语法是在Python3.5中发布的

根据:自Python 3.5以来,元组、列表、集合和字典显示允许多个解包,如:

>>> *range(4), 4
(0, 1, 2, 3, 4)

>>> [*range(4), 4]
[0, 1, 2, 3, 4]

>>> {*range(4), 4, *(5, 6, 7)}
{0, 1, 2, 3, 4, 5, 6, 7}

>>> {'x': 1, **{'y': 2}}
{'x': 1, 'y': 2}

链接到有问题的行:这意味着该库只支持现代Python<代码>{**BASE\u REQUEST\u PARAMS,**SET\u PLAYLIST\u METHOD}适用于Python 3.5及以上版本。谢谢!这就解释了,我得到了Python3.4.5
{*…,*…}
将创建一个集合,但是
{**…,**…}
将创建一个字典。