在Python 2.x中可以使用*来转储并行分配中的超额收益吗?

金博尔

Python 3.x允许在带有*的并行分配中转储多余的收益

>>> a, b, *args = range(4)
>>> a
0
>>> b
1
>>> args
[2, 3]

但是2.x不会:

>>> a, b, *args = range(4)
  File "<stdin>", line 1
    a,b,*args = range(4)
        ^
SyntaxError: invalid syntax

将来是否会有一些导入使该语句与Python 2.x兼容?

阿扎特·伊布拉科夫

AFAIK此功能在Python 2中不可用,如果您确实需要这样的东西–只需编写实用程序功能

def unpack(iterable, elements_count):
    iterator = iter(iterable)
    for _ in range(elements_count):
        yield next(iterator)
    # maybe use `list` or leave `iterator`-object
    yield tuple(iterator)

然后

a, b, args = unpack(range(4), 2)

将给出预期的行为

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python中可以使用静态类变量吗?

在python中并行运行2个不同的程序

python-keyring可以转储所有密码吗?

我们可以使用py2exe在Python中创建的可执行文件进行文件处理吗?

我可以使用现有的操作(例如conv2d和张量操作)在python中的tensorflow中编写自定义层吗?

使用主Python脚本中的子进程并行执行2个单独的python脚本

在windbg中调试python转储文件

Javascript中的Python x [1:2:3]?

我们可以使用urllib或urllib2或请求或机械化在python中重新加载页面/ URL吗?

我可以使用pip在Python 3中安装Python 2软件包吗?

在开发Python扩展模块时可以使用最新的C2x语言功能吗?

在Python中,函数中可以使用循环吗?

在Python中往返转储YAML时,是否可以保留顺序?

使用多重处理时在Python中缓慢的腌制转储

我可以使用Python / Flask在HTML中比较2个输入吗?

如何在并行中编写2个Python装饰器

关于Python 2.x中的属性动态分配

在Python 2.7中可以使用resume()函数吗?

为什么在Python函数中可以使用超过2 ^ 16个常量?

是否可以使用Python 3创建GTK + 2.x应用程序?

在Python 2中并发

Python 2.X 中的`print` 内置函数是原子的吗?

密钥的 Json 转储,在 Python 中配对

从python转储JSON并在js2py环境中解析时引号短缺

我可以在 python2/3 中同时使用多种不同方法的多处理吗

object 是 Python 2.X 中类型的子类吗?

你可以使用来自不同 python 文件的画布吗?

Python 2 中的 ``personality(2)``

如何在 Python 中并行计算 2 个列表?