gpt4 book ai didi

python-2.7 - Python 2 元组/列表解包使用星抛出 SyntaxError

转载 作者:行者123 更新时间:2023-12-02 17:39:42 25 4
gpt4 key购买 nike

为什么下面的代码会在 Python 2.7.3 中为 *phones 抛出一个 SyntaxError

contact = ('name', 'email', 'phone1', 'phone2')
name, email, *phones = contact

这是在 Python 3 中引入的并且没有向后移植吗?我怎样才能让它在 Python 2 中工作?也就是说,如果这里没有一些简单的方法来解决问题。

最佳答案

是的,扩展的解包语法(使用 * 获取其余部分)仅适用于 Python 3.x。在 Python 2.x 中,您可以获得的最接近的是从剩余部分中显式地切出您想要的部分:

contact = ('name', 'email', 'phone1', 'phone2')
(name, email), phones = contact[:2], contact[2:]

如果你需要它来处理任意可迭代对象,那么你可以使用类似的东西:

from itertools import islice
i = iter(contact)
(name, email), phone = tuple(islice(i, 2)), list(i)

关于python-2.7 - Python 2 元组/列表解包使用星抛出 SyntaxError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257930/

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