Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 编写一个函数,将整数列表拆分为子列表?_Python_Algorithm - Fatal编程技术网

Python 编写一个函数,将整数列表拆分为子列表?

Python 编写一个函数,将整数列表拆分为子列表?,python,algorithm,Python,Algorithm,我不知道从哪里开始,我是新的编码,所以我尽我最大的努力,但我卡住了。我问的是从哪里开始或者一些伪代码,而不是你为我写的 假设您有一个变量n,它是一个整数列表,您需要将其拆分为x长度的子列表 接下来假设k是子列表的len(n)/len\u 索引0,k,2k,…处数字的值将放在第一个子列表中 索引1,k+1,2k+1,…处数字的值将被放置在第二个子列表中 索引2,k+2,2k+2,…处数字的值将被放置在第三个子列表中 要从原始列表(l1)创建子列表(l2),i是子列表的长度: >>>

我不知道从哪里开始,我是新的编码,所以我尽我最大的努力,但我卡住了。我问的是从哪里开始或者一些伪代码,而不是你为我写的

假设您有一个变量
n
,它是一个整数列表,您需要将其拆分为
x
长度的子列表

接下来假设
k
是子列表的
len(n)/len\u

索引
0,k,2k,…
处数字的值将放在第一个子列表中

索引
1,k+1,2k+1,…
处数字的值将被放置在第二个子列表中

索引
2,k+2,2k+2,…
处数字的值将被放置在第三个子列表中

要从原始列表(
l1
)创建子列表(
l2
),
i
是子列表的长度:

>>> l1 =  [1,2,3,4,5,6,7,8,9,10]
>>> i=2
>>> l2= [l1[n:n+i] for n in range(0, len(l1), i)]
>>> l2
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
另一个c]值为
i

>>> i=3
>>> l2= [l1[n:n+i] for n in range(0, len(l1), i)]
>>> l2
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
这将为您提供位于
0,k,2k..
/
1,k+1,2k+1..
/
2,k+2,2k+2..
的元素,其中
k=len(n)/x
。因此,您得到长度为
x
k
子列表

注意:这仅在
len(n)=k*x
完美时才有效。如果不是,结果如下

>>> k=5
>>> zip(*[n[i:i+k] for i in range(0,len(n),k)])
[(1, 6, 11), (2, 7, 12)]

欢迎你为什么不把你知道的告诉我们,我们看看能帮上什么忙。例如,如何初始化子列表?你有没有尝试过构造一个循环来解决这个问题?我的问题是我只知道绝对的基础知识,因为这是我的第一节编码课,但是教授的速度非常快,没有解释所有被帮助的东西,所以我们不得不试着自学,这就是为什么我在这方面寻求帮助。他从来没有教过它。我试着从其他同学那里得到帮助,但他们似乎正在努力well@thenewb这有用吗?你还有什么问题吗?
>>> k=5
>>> zip(*[n[i:i+k] for i in range(0,len(n),k)])
[(1, 6, 11), (2, 7, 12)]