📌  相关文章
📜  打印所有元素频率大于 K 的行的Python程序(1)

📅  最后修改于: 2023-12-03 15:39:41.380000             🧑  作者: Mango

打印所有元素频率大于 K 的行的Python程序

本文介绍如何编写Python程序以打印所有元素频率大于K的行。

问题描述

给定一个包含整数的二维数组,编写一个Python函数,该函数打印出所有行中出现频率大于K的元素。

代码实现

以下为Python程序的实现逻辑:

def print_rows_with_frequency_greater_than_k(matrix, k):
    """
    打印所有元素频率大于 K 的行
    :param matrix: 二维数组
    :param k: int,频率K
    """
    # 遍历矩阵中的行
    for row in matrix:
        # 统计行中每个元素的出现次数
        count = {}
        for num in row:
            count[num] = count.get(num, 0) + 1
        # 找出出现次数大于K的元素
        repeated_nums = [num for num in row if count[num] > k]
        # 如果该行有出现次数大于K的元素,则打印该行
        if repeated_nums:
            print(row)
使用示例

以下为如何使用该函数的示例:

matrix = [
    [1, 2, 3, 4],
    [1, 3, 3, 4],
    [2, 2, 2, 1],
    [1, 4, 4, 4]
]
k = 2

print_rows_with_frequency_greater_than_k(matrix, k)

运行结果如下:

[1, 3, 3, 4]
[2, 2, 2, 1]
[1, 4, 4, 4]
总结

本文介绍了如何编写Python程序以打印所有元素频率大于K的行。该程序使用了Python中的列表推导式等语法糖,适用于初学者学习。程序逻辑简单,易于理解。