在Python的2D列表中查找最常见的元素

2D列表具有列表作为其元素。换句话说,它是一个列表列表。在本文中,我们需要找到列表中所有列表中最常见的元素。

随着最大和计数

我们设计一个条件为in的跟随项,以检查给定子列表中元素的存在。然后,我们将max函数与count函数一起使用以获取具有最大频率的元素。

示例

def highest_freq(lst):

   SimpleList = [el for sublist in lst for el in sublist]

   return max( SimpleList, key= SimpleList.count)

# Given list

listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]]

print("Given List:\n",listA)

print("Element with highest frequency:\n",highest_freq(listA))

输出结果

运行上面的代码给我们以下结果-

Given List:

[[45, 20, 11], [20, 17, 45], [20, 13, 9]]

Element with highest frequency:

20

带链

在这里,我们采用与上述类似的方法。但是我们使用itertools模块中的chain函数。

示例

from itertools import chain

def highest_freq(lst):

   SimpleList = list(chain.from_iterable(lst))

   return max( SimpleList, key= SimpleList.count)

# Given list

listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]]

print("Given List:\n",listA)

print("Element with highest frequency:\n",highest_freq(listA))

输出结果

运行上面的代码给我们以下结果-

Given List:

[[45, 20, 11], [20, 17, 45], [20, 13, 9]]

Element with highest frequency:

20

带柜台和链条

在这种方法中,来自集合的计数器函数保留使用itertools中的链函数检索的元素的计数。

示例

from itertools import chain

from collections import Counter

def highest_freq(lst):

   SimpleList = chain.from_iterable(lst)

   return Counter(SimpleList).most_common(1)[0][0]

# Given list

listA = [[45, 20, 11], [20, 17, 45], [20,13, 9]]

print("Given List:\n",listA)

print("Element with highest frequency:\n",highest_freq(listA))

输出结果

运行上面的代码给我们以下结果-

Given List:

[[45, 20, 11], [20, 17, 45], [20, 13, 9]]

Element with highest frequency:

20

以上是 在Python的2D列表中查找最常见的元素 的全部内容, 来源链接: utcz.com/z/327299.html

回到顶部