Python - 测试行是否具有相似的频率

当需要检查行是否具有相似的频率时,使用“all”运算符、“Counter”方法和简单迭代。

以下是相同的演示 -

示例

from collections import Counter

my_list = [[21, 92, 64, 11, 3], [21, 3, 11, 92, 64], [64, 92, 21, 3, 11]]

print("名单是:")

print(my_list)

my_result = all(dict(Counter(row)) == dict(Counter(my_list[0])) for row in my_list )

if(my_result == True):

   print("All rows have similar frequency")

else:

   print("All rows do not have similar frequency")

输出结果
名单是:

[[21, 92, 64, 11, 3], [21, 3, 11, 92, 64], [64, 92, 21, 3, 11]]

All rows have similar frequency

解释

  • 所需的包被导入到环境中。

  • 定义了一个带有整数的列表列表并显示在控制台上。

  • list of list 中的列表先转换为 Counter 再转换为字典。

  • 检查每个列表中的元素是否以相同的频率出现。

  • 如果是,则布尔值存储在变量中。

  • 根据这个布尔变量,相关消息会显示在控制台上。

以上是 Python - 测试行是否具有相似的频率 的全部内容, 来源链接: utcz.com/z/317283.html

回到顶部