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