当前位置:  开发笔记 > 编程语言 > 正文

如何在Python2中处理可变长度子列表解包?

如何解决《如何在Python2中处理可变长度子列表解包?》经验,为你挑选了1个好方法。

如何在Python2中处理可变长度子列表解包?

在Python3中,如果我有可变的子列表长度,我可以使用这个成语:

>>> x = [(1, 2,3,4,5), (2, 4,6), (3, 5,6,7,8,9)]
>>> for i, *item in x:
...     print (item)
... 
[2, 3, 4, 5]
[4, 6]
[5, 6, 7, 8, 9]

在Python2中,它是一个无效的语法:

>>> x = [(1, 2,3,4,5), (2, 4,6), (3, 5,6,7,8,9)]
>>> for i, *item in x:
  File "", line 1
    for i, *item in x:
           ^
SyntaxError: invalid syntax

顺便说一句,这个问题与解释最大大小为n的可变长度列表的惯用法有一点不同,其中解决方案需要固定长度的知识.

这个问题特定于解决Python2中的问题.



1> Amadan..:

Python 2没有splat语法(*item).最简单,最直观的方式是:

for row in x:
    i = row[0]
    item = row[1:]

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有