📅  最后修改于: 2023-12-03 15:39:41.380000             🧑  作者: Mango
本文介绍如何编写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中的列表推导式等语法糖,适用于初学者学习。程序逻辑简单,易于理解。