python平分列表操作

一.将一个列表,分成若干个大小为n的列表

def split_list_average_n(origin_list, n):
    for i in range(0, len(origin_list), n):
        yield origin_list[i:i + n]

测试:

a = ["a", "b", "c", "d", "e", "f", "g"]
 
b = split_list_average_n(a, 4)
for i in b:
    print(i)

输出:

['a', 'b', 'c', 'd']
['e', 'f', 'g']

二.将一个列表,分成n个大小均分的列表

def split_list_n_list(origin_list, n):
    if len(origin_list) % n == 0:
        cnt = len(origin_list) // n
    else:
        cnt = len(origin_list) // n + 1
 
    for i in range(0, n):
        yield origin_list[i*cnt:(i+1)*cnt]

测试:

a = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l"]
 
b = split_list_n_list(a, 4)
for i in b:
    print(i)

输出:

['a', 'b', 'c']
['d', 'e', 'f']
['g', 'h', 'i']
['j', 'k', 'l']

你可能感兴趣的:(python,leetcode,动态规划,算法)