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("The list is :")
print(my_list)

K = 11
print("The value for K is ")
print(K)

my_list.sort(key=multiple_sort_val)

print("The resultant list is :")
print(my_list)

输出

The list is :
[[11, 44, 7, 11], [7, 5, 44, 11], [11, 6, 35, 44], [92, 92, 5]]
The value for K is
11
The resultant list is :
[[92, 92, 5], [7, 5, 44, 11], [11, 6, 35, 44], [11, 44, 7, 11]]

说明

  • 定义了一个获取列表作为参数的方法。

  • 它使用列表解析和“len”方法来检查每个列表除以特定值 K 时余数或结果是否为 0。

  • 此列表的大小作为输出返回。

  • 在方法外部,定义了一个列表的列表,并将其显示在控制台。

  • 定义了一个 K 值并将其显示在控制台。

  • 使用“sort”方法对列表进行排序,指定键为先前定义的方法。

  • 这是显示在控制台的输出。

更新于:04-9 月-2021

113 浏览

开启你的 事业

完成该课程以获得认证

开始
广告
© . All rights reserved.