python list分组操作--简便易

发布时间:2019-09-10 08:50:04编辑:auto阅读(3108)

    背景

    python 中对 list 进行分组,比较常用。当然方法也很多,但有很好,很简便的方法在下面叙述。

    实例

    比如将 a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14] 按照长度为3进行分组。

    传统方法

    类似下面的方法:

    #!/usr/bin/python
    L = [3,8,9,4,1,10,6,7,2,5]
    result = [[],[],[]]
    for item in L:
            if len(result[0]) < 3:
                    result[0].append(item)
            elif len(result[1]) < 3:
                    result[1].append(item)
            else:
                    result[2].append(item)
    print result

    优雅方法

    a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14]
    for i in range(0, len(a), 3):
        b.append(a[i:i+3])
    print b

    简便易读的方法:

    print [a[i:i+3] for i in xrange(0,len(a),3)]

关键字