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'方法对列表进行排序。
这是显示在控制台上的输出。