python 3 listグループ化操作

800 ワード

転載:
https://blog.csdn.net/yuxin6866/article/details/70306886
バックグラウンドpythonではlistをグループ化し、よく使われます.もちろん方法もたくさんありますが、とても良くて、簡単な方法は以下に述べます.
例えば、a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14]を長さ3でグループ化する.
従来の方法は、次の方法に似ています.
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]
b=[]
for i in range(0, len(a), 3):
    b.append(a[i:i+3])
print (b)

簡単で読みやすい方法:
a=[1,2,3,4,5,6,7,8,9,10,11,12,13,14]
print ([a[i:i+3] for i in range(0,len(a),3)])