2024-05-13 21:58:25 发布
网友
Possible Duplicate:Pairs from single list
我有一个小整数列表,比如:
[1, 2, 3, 4, 5, 6]
我希望收集序列对并返回一个包含从这些对创建的元组的新列表,即:
[(1, 2), (3, 4), (5, 6)]
我知道一定有一个非常简单的方法来做这件事,但不能完全解决。
谢谢
好吧,有一个非常简单,但有点脆弱的方法,压缩它与切片版本本身。
zipped = zip(mylist[0::2], mylist[1::2])
如果您不知道,最后一个slice参数是“step”。所以我们从0开始选择列表中的每一个第二项(1,3,5)。然后我们做同样的事情,但是从一个(2,4,6)开始,用zip从它们中生成元组。
zip
直接来自itertools模块的Python文档:
from itertools import tee, izip def pairwise(iterable): "s -> (s0,s1), (s1,s2), (s2, s3), ..." a, b = tee(iterable) next(b, None) return izip(a, b) l = [1, 2, 3, 4, 5, 6] for pair in pairwise(l): print pair
除了以上的答案,你还需要知道最简单的方法(如果你还不知道的话)
l = [1, 2, 3, 4, 5, 6] o = [(l[i],l[i+1]) for i in range(0,len(l),2)]
好吧,有一个非常简单,但有点脆弱的方法,压缩它与切片版本本身。
如果您不知道,最后一个slice参数是“step”。所以我们从0开始选择列表中的每一个第二项(1,3,5)。然后我们做同样的事情,但是从一个(2,4,6)开始,用
zip
从它们中生成元组。直接来自itertools模块的Python文档:
除了以上的答案,你还需要知道最简单的方法(如果你还不知道的话)
相关问题 更多 >
编程相关推荐