Chinaunix

标题: 请教list如何三个、三个的分割? [打印本页]

作者: 风中有只鸟    时间: 2012-05-04 08:25
标题: 请教list如何三个、三个的分割?
lst = [0,1,2,3,4,5,6,7,8,9]

例如lst三个、三个的分割

lst只是个例子,实际数据有几千
作者: ilikeqdi    时间: 2012-05-04 09:45
本帖最后由 ilikeqdi 于 2012-05-04 09:45 编辑

  1. >>> a=[1,2,3,4,5,6,7,8,9,10]
  2. >>> for i in range(0,len(a),3):
  3. ...         b=a[i:i+3]
  4. ...         print b
  5. ...        
  6. [1, 2, 3]
  7. [4, 5, 6]
  8. [7, 8, 9]
  9. [10]
复制代码

作者: 风中有只鸟    时间: 2012-05-04 12:09
回复 2# ilikeqdi


    非常感谢
作者: diyly    时间: 2012-05-04 14:16
这个是个好方法
作者: 88484532    时间: 2012-05-07 14:16
不错,学习了
作者: yjphhw    时间: 2012-05-07 20:49
a=a=[1,2,3,4,5,6,7,8,9,10]
f=lambda a:map(lambda b:a[b:b+3],range(0,len(a)-2,3))
f(a)
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
作者: gnemoug    时间: 2012-05-12 23:42
def split_list(lst):
    return [lst[i:i+3] for i in xrange(0,len(lst),3)]
作者: Siroh_cu    时间: 2012-05-18 23:07
def split_list(lst):
    return (lst[i:i+3] for i in xrange(0,len(lst),3))

既然用了xrange,没有理由直接返回list
作者: ulovko    时间: 2012-05-22 12:38
ilikeqdi 发表于 2012-05-04 09:45


学习了 高手




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2