python 中把一个列表(list)平均分成n块

时间:2025-04-06 06:55:57
# 将一个list尽量均分,前面可以分n个时则每份为n个,直到分不下为止,不限制len(list) def EveryStrandIsN(listTemp, n): for i in range(0, len(listTemp), n): yield listTemp[i:i + n] # 将一个list尽量均分成n份,限制len(list)==n,份数大于原list内元素个数则分配空list[] def divideIntoNstrand(listTemp, n): twoList = [ [] for i in range(n)] for i,e in enumerate(listTemp): twoList[i%n].append(e) return twoList if __name__ == '__main__': listTemp = [1,2,3,4,5,6,7,8,9] n = 4 temp = EveryStrandIsN(listTemp, n) temp1 = divideIntoNstrand(listTemp, n) print("前面保证每份{}个".format(n)) for i in temp: print(i) print("保证{}份".format(n)) for i in temp1: print(i)