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)]