我有一个类似这样的列表 mylist = [1,2,3,4,5,6]
现在我需要循环遍历这个列表并创建3个新的列表,如下所示:
new1 = [1,4]
new2 = [2,5]
new3 = [3,6]
什么是最简单的方法来完成这个任务?
我有一个类似这样的列表 mylist = [1,2,3,4,5,6]
现在我需要循环遍历这个列表并创建3个新的列表,如下所示:
new1 = [1,4]
new2 = [2,5]
new3 = [3,6]
>>> mylist = [1,2,3,4,5,6]
>>> mylist[::3]
[1, 4]
>>> mylist[1::3]
[2, 5]
>>> mylist[2::3]
[3, 6]
>>> lis = range(1,21)
>>> new1, new2, new3 = [lis[i::3] for i in xrange(3)]
>>> new1
[1, 4, 7, 10, 13, 16, 19]
>>> new2
[2, 5, 8, 11, 14, 17, 20]
>>> new3
[3, 6, 9, 12, 15, 18]
如果你还不熟悉切片操作,建议阅读以下文章:解释Python的切片操作符
numpy
。>>> import numpy as np
>>> arr = np.array([1,2,3,4,5,6])
>>> arr.reshape((arr.size//3, 3)).T
array([[1, 4],
[2, 5],
[3, 6]])
mylist
中有8个项目,会发生什么? - ASGMnew1=[1,4,7...]
。 - Goran