首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将x列表中的一个列表与python分开?

如何将x列表中的一个列表与python分开?
EN

Stack Overflow用户
提问于 2014-08-20 18:42:27
回答 2查看 705关注 0票数 0

如何在python中的x列表中拆分一个列表?

两个列表中分开的列表示例:

代码语言:javascript
复制
elements = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-> ([0, 1, 2, 3, 4], [5, 6, 7, 8, 9])

示例,在三个列表中拆分列表(注意第三个元组列表,包含“除息”):

代码语言:javascript
复制
elements = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-> ([0, 1, 2], [3, 4, 5], [6, 7, 8, 9])

等等..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-20 18:45:17

你可以这样做:

EDIT2 2:-

代码语言:javascript
复制
i,j,x=len(seq),0,[]

for k in range(m):

    a, j = j, j + (i+k)//m

    x.append(seq[a:j])

return x

打电话给我

代码语言:javascript
复制
seq = range(11), m=3

结果

代码语言:javascript
复制
result : [[0, 1, 2], [3, 4, 5], [6, 7, 8, 9]]

代码语言:javascript
复制
def chunks(l, n):
    return [l[i:i + n] for i in range(0, len(l), n)]

EDIT1 1:-

代码语言:javascript
复制
>>> x = [1,2,3,4,5,6,7,8,9]
>>> zip(*[iter(x)]*3)
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
票数 2
EN

Stack Overflow用户

发布于 2014-08-20 19:00:55

代码语言:javascript
复制
def chunk(iterable ,n):
    le = len(iterable)
    if n > le:
        return  iterable
    mo = le % n # get mod from length of the iterable % required len sublists 
    diff = le - mo #  if there was any mod, i.e 10 % 3 = 1, diff will be 9
    sli = le / n
    res = [iterable[ind:ind + sli] for ind in range(0, diff, sli)]
    res[-1] = res[-1] + iterable[diff:] # add from diff to end of the last sublist
    return tuple(res) # return a tuple lists

如果mo = le % n == 0 diff将等于列表的长度,那么iterable[diff:]将不会添加任何内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25412151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档