0
我有这样的列表。我想知道是否有任何快速的方法来创建子列表呢?分割列表Python
list = [1,2,3,4,5,6,7,8,.....]
什么是蟒蛇列表分成子列表这个最好的方法是什么?
1. [(1, 2), (3, 4), (5, 6), ...]
2. [(1, 2, 3), (4, 5, 6), ...]
3. [(1,2,3,4),(5,6,7,8), ....]
我有这样的列表。我想知道是否有任何快速的方法来创建子列表呢?分割列表Python
list = [1,2,3,4,5,6,7,8,.....]
什么是蟒蛇列表分成子列表这个最好的方法是什么?
1. [(1, 2), (3, 4), (5, 6), ...]
2. [(1, 2, 3), (4, 5, 6), ...]
3. [(1,2,3,4),(5,6,7,8), ....]
通过在列表中循环遍历每个子列表中所需元素的数量(例如range(0, len(a), n)
),您可以非常容易地达到此目的。您可以使用索引提取每个子列表所需的元素(例如a[i:i+n]
)。例如:
def group(a, n):
return [tuple(a[i:i+n]) for i in range(0, len(a), n)]
print group([1, 2, 3, 4, 5, 6], 2)
# [(1, 2), (3, 4), (5, 6)]
print group([1, 2, 3, 4, 5, 6], 3)
# [(1, 2, 3), (4, 5, 6)]
print group([1, 2, 3, 4, 5, 6, 7, 8], 4)
# [(1, 2, 3, 4), (5, 6, 7, 8)]
>>> import numpy
>>> a = range(1,7)
>>> a
[1, 2, 3, 4, 5, 6]
>>> numpy.reshape(a,(3,2))
array([[1, 2],
[3, 4],
[5, 6]])
>>> numpy.reshape(a,(2,3))
array([[1, 2, 3],
[4, 5, 6]])
reshape
取“阵列状”对象和包含行和新的矩阵的列数的元组。
3不是任何一种原始列表的“拆分”。 – orlp
这里有没有某种模式或程序分割?或者你只想知道创建列表子目录的操作? – woemler
是的。我只是以列表为例..没有模式,只是寻找一种方法来做到这一点.. – user2510612