Python - 按大于其前一个元素的元素数对矩阵进行排序

当需要根据大于前一个元素的元素数对矩阵进行排序时,使用函数使用列表推导和 'len' 方法。

以下是相同的演示 -

示例

def fetch_greater_freq(row):

   return len([row[idx] for idx in range(0, len(row) - 1) if row[idx] < row[idx + 1]])

my_list = [[11, 3, 25, 99, 10], [5, 3, 25, 4], [77, 11, 5, 3, 77, 77], [11, 3, 25]]

print("名单是:")
print(my_list)

my_list.sort(key=fetch_greater_freq)

print("结果列表是:")
print(my_list)
输出结果
名单是:
[[11, 3, 25, 99, 10], [5, 3, 25, 4], [77, 11, 5, 3, 77, 77], [11, 3, 25]]
结果列表是:
[[5, 3, 25, 4], [77, 11, 5, 3, 77, 77], [11, 3, 25], [11, 3, 25, 99, 10]]

解释

  • 定义了一个名为“fetch_greater_freq”的方法,它将列表作为参数。

  • 遍历列表,访问并检查特定元素以查看它是否小于其连续元素。

  • 它的长度作为方法的输出返回。

  • 在该方法之外,定义了一个整数列表并显示在控制台上。

  • 通过将先前定义的方法作为参数传递,使用 sort 方法对列表进行排序。

  • 输出显示在控制台上。