一道Python面试题

题目:算法

  一个列表,要分为N组,定义一套规则,实现算法:数据库

  

解:app

  看到这个题目的时候我首先想到了数据库的水平分表,利用主键id取余的方式将数据平均存放在N张表中,能够利用一下:spa

  

ef group(list1, group_number):
    for i in range(group_number):
        list_tmp = []
        for k in list1:
            if k % group_number == i:
                list_tmp.append(k)
        print(list_tmp)


list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
group(list1, 4)


output:
[4, 8, 12, 16]
[1, 5, 9, 13]
[2, 6, 10, 14]
[3, 7, 11, 15]
相关文章
相关标签/搜索