2024-04-25 14:39:34 发布
网友
我想在Python 3中我可以做到:
first, *rest = l
这正是我想要的,但我用的是2.6。现在我要做的是:
first = l[0] rest = l[1:]
这很好,但我只是想知道是否有更优雅的东西。
first, rest = l[0], l[1:]
基本上是一样的,只不过是一条单行线。元组分类岩石。
这有点长,不太明显,但对所有iterable都是通用的(而不是仅限于可切片的):
i = iter(l) first = next(i) # i.next() in older versions rest = list(i)
还有一个,使用Python2.7。只是使用一个中间函数。逻辑上,新行为模拟了函数参数传递的情况。
li = [1, 2, 3] first, rest = (lambda x, *y: (x, y))(*li)
你可以的
first = l.pop(0)
然后l就是剩下的。不过,它会修改你原来的列表,所以也许这不是你想要的。
l
基本上是一样的,只不过是一条单行线。元组分类岩石。
这有点长,不太明显,但对所有iterable都是通用的(而不是仅限于可切片的):
还有一个,使用Python2.7。只是使用一个中间函数。逻辑上,新行为模拟了函数参数传递的情况。
你可以的
然后
l
就是剩下的。不过,它会修改你原来的列表,所以也许这不是你想要的。相关问题 更多 >
编程相关推荐