Python - 按无频率对矩阵进行排序
当需要按“无”频率对矩阵进行排序时,定义了一种方法,该方法接受一个参数并使用列表推导式、“not”运算符和“len”方法来确定结果。
示例
以下是相同的演示-
def get_None_freq(row): return len([element for element in row if not element]) my_list = [[None, 24], [None, 33, 3, None],[42, 24, 55], [13, None, 24]] print("名单是: ") print(my_list) my_list.sort(key = get_None_freq) print("结果是: ") print(my_list)输出结果
名单是: [[None, 24], [None, 33, 3, None], [42, 24, 55], [13, None, 24]] 结果是: [[42, 24, 55], [None, 24], [13, None, 24], [None, 33, 3, None]]
解释
定义了一个名为“get_None_freq”的方法,它接受一个列表作为参数,并使用列表理解来迭代元素,并使用“not”运算符来检查元素是否不存在于列表中,并确定其长度。
该长度作为输出返回。
在该方法之外,定义了一个列表并显示在控制台上。
该列表使用'sort'方法进行排序,并且键被指定为先前定义的方法。
这是显示在控制台上的输出。