Python统计列表元素出现次数的方法示例

1. 引言

在使用Python的时候,通常会出现如下场景:

array = [1, 2, 3, 3, 2, 1, 0, 2]

获取array中元素的出现次数

比如,上述列表中:0出现了1次,1出现了2次,2出现了3次,3出现了2次。

本文阐述了Python获取元素出现次数的几种方法。点击获取完整代码。

2. 方法

获取元素出现次数的方法较多,这里我提出如下5个方法,谨供参考。下面的代码,传入的参数均为

array = [1, 2, 3, 3, 2, 1, 0, 2]

2.1 Counter方法

该方法可以迅速获取list中元素出现的次数,可以参考官方文档

from collections import Counter
def counter(arr):
  return Counter(arr).most_common(2) # 返回出现频率最高的两个数

# 结果:[(2, 3), (1, 2)]

2.2 list中的count,获取每个元素的出现次数

def single_list(arr, target):
  return arr.count(target)

# target=2,结果:3

2.3 list中的count,获取所有元素的出现次数

返回一个dict

def all_list(arr):
  result = {}
  for i in set(arr):
    result[i] = arr.count(i)
  return result

# 结果:{0: 1, 1: 2, 2: 3, 3: 2}

2.4 Numpy花式索引,获取每个元素的出现次数

def single_np(arr, target):
  arr = np.array(arr)
  mask = (arr == target)
  arr_new = arr[mask]
  return arr_new.size

# target=2,结果:3

2.5 Numpy花式索引,获取所有元素的出现次数

返回一个dict

def all_np(arr):
  arr = np.array(arr)
  key = np.unique(arr)
  result = {}
  for k in key:
    mask = (arr == k)
    arr_new = arr[mask]
    v = arr_new.size
    result[k] = v
  return result

# 结果:{0: 1, 1: 2, 2: 3, 3: 2}

3. 总结

以上就是我总结的几种Python获取元素出现个数的方法。

值得一提的是,我所用的list所有元素都是整数

array = [1, 2, 3, 3, 2, 1, 0, 2]

如果list中包含其它类型的元素,比如

array = [1, 2, 3, 3, 2, 1, 'a', 'bc', 0.1]

这种情况下需要获取 a或1 的出现次数时,2.4中函数的调用形式应当为:target='a' / target='1'

到此这篇关于Python统计列表元素出现次数的方法示例的文章就介绍到这了,更多相关Python统计列表元素出现次数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 实现返回一个列表中出现次数最多的元素方法

    如下所示: # 返回一个列表中出现次数最多的元素 def showmax(lt):     index1 = 0                       #记录出现次数最多的元素下标     max = 0                          #记录最大的元素出现次数     for i in range(len(lt)):         flag = 0                    #记录每一个元素出现的次数         for j in range(i+1,

  • Python找出列表中出现次数最多的元素三种方式

    通过三种方式给大家介绍,具体详情如下所示: 方式一: 原理:创建一个新的空字典,用循环的方式来获取列表中的每一个元素,判断获取的元素是否存在字典中的key,如果不存在的话,将元素作为key,值为列表中元素的count # 字典方法 words = [ 'my', 'skills', 'are', 'poor', 'I', 'am', 'poor', 'I', 'need', 'skills', 'more', 'my', 'ability', 'are', 'so', 'poor' ] dict

  • Python统计列表元素出现次数的方法示例

    1. 引言 在使用Python的时候,通常会出现如下场景: array = [1, 2, 3, 3, 2, 1, 0, 2] 获取array中元素的出现次数 比如,上述列表中:0出现了1次,1出现了2次,2出现了3次,3出现了2次. 本文阐述了Python获取元素出现次数的几种方法.点击获取完整代码. 2. 方法 获取元素出现次数的方法较多,这里我提出如下5个方法,谨供参考.下面的代码,传入的参数均为 array = [1, 2, 3, 3, 2, 1, 0, 2] 2.1 Counter方法

  • Python中列表元素转为数字的方法分析

    本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: numbers = [1, 5, 10, 8] 用一个循环来解决: new_numbers = []; for n in numbers: new_numbers.append(int(n)); numbers = new_numbers; 有没有更简单的语句可以做到呢? 1. numbers =

  • python分割列表(list)的方法示例

    前言 在日常开发中,有些API接口会限制请求的元素个数,这时就需要把一个大列表分割为固定的小列表,再进行相关处理,本文搜集了几个简单的方法,分享出来供大家参考学习,下面来看看详细的介绍: 方法示例 #1.分割大列表为三个元素的小列表,不够三个元素的亦当成一个列表输出 In [17]: lst Out[17]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In [18]: for i in range(0,len(lst),3): ...: print lst[i:i+3] ..

  • python删除列表元素的三种方法(remove,pop,del)

    remove 删除单个元素,删除首个符合条件的元素,按值删除,返回值为空 List_remove = [1, 2, 2, 2, 3, 4] print(List_remove.remove(2)) print("after remove", List_remove) # None # after remove [1, 2, 2, 3, 4] -------------------------------------------------------------------------

  • Python 统计列表中重复元素的个数并返回其索引值的实现方法

    需求:统计列表list1中元素3的个数,并返回每个元素的索引 list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2] 在实际工程中,可能会遇到以上需求,统计元素个数使用list.count()方法即可,不做多余说明 返回每个元素的索引需要做一些转换,简单整理了几个实现方法 1 list.index()方法 list.index()方法返回列表中首个元素的索引,当有重复元素时,可以通过更改index()方法__s

  • Python统计列表中的重复项出现的次数的方法

    本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴.具体方法如下: 对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在我们需要统计这个列表里的重复项,并且重复了几次也要统计出来. 方法1: mylist = [1,2,2,2,2,3,3,3,4,4,4,4] myset = set(mylist) #myset是另外一个列表,里面的内容是mylist里面的无重复 项 for item in myset: prin

  • python 统计列表中不同元素的数量方法

    刚刚上网搜了一下如何用python统计列表中不同元素的数量,发现很少,找了半天.我自己来写一种方法. 代码如下 list=[1,1,2,2,3] print(list) set1=set(list) print(set1) print(len(set1)) #len(set1)即为列表中不同元素的数量 得到结果: [1, 1, 2, 2, 3] {1, 2, 3} 3 原理就是set集合中不允许重复元素出现. 以上这篇python 统计列表中不同元素的数量方法就是小编分享给大家的全部内容了,希望

  • Java编程实现统计数组中各元素出现次数的方法

    本文实例讲述了Java编程实现统计数组中各元素出现次数的方法.分享给大家供大家参考,具体如下: package javatest; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class NumOfEle { public static void main(String[] ar

  • python中列表元素连接方法join用法实例

    本文实例讲述了python中列表元素连接方法join用法.分享给大家供大家参考.具体分析如下: 创建列表: >>> music = ["Abba","Rolling Stones","Black Sabbath","Metallica"] >>> print music 输出: ['Abba', 'Rolling Stones', 'Black Sabbath', 'Metallica']

  • C#使用linq计算执行元素在列表中出现次数的方法

    本文实例讲述了C#使用linq计算执行元素在列表中出现次数的方法.分享给大家供大家参考.具体如下: 这是使用linq计算元素在列表中出现的次数,调用方法非常简单,和sql语句很像 复制代码 代码如下: // Count the number of times an item appears in this list public static int CountTimes<T>(this List<T> inputList, T searchItem) { return ((fro

随机推荐