Python - 按 K 倍数对行进行排序
当需要按K的倍数对行进行排序时,定义了一种使用列表推导式和模运算符的方法。
以下是相同的演示-
示例
def multiple_sort_val(row): return len([ele for ele in row if ele % K == 0]) my_list = [[11, 44, 7, 11], [7, 5, 44, 11], [11, 6, 35, 44], [92, 92, 5]] print("名单是:") print(my_list) K = 11 print("K的值为 ") print(K) my_list.sort(key=multiple_sort_val) print("结果列表是:") print(my_list)输出结果
名单是: [[11, 44, 7, 11], [7, 5, 44, 11], [11, 6, 35, 44], [92, 92, 5]] K的值为 11 结果列表是: [[92, 92, 5], [7, 5, 44, 11], [11, 6, 35, 44], [11, 44, 7, 11]]
解释
定义了一个将列表作为参数的方法。
它使用列表推导和'len'方法来检查每个列表除以特定的K值的余数是否为0。
此列表的大小作为输出返回。
在该方法之外,定义了一个列表列表并显示在控制台上。
K的值已定义并显示在控制台上。
通过将键指定为先前定义的方法,使用'sort'方法对列表进行排序。
这是显示在控制台上的输出。