python学习--统计序列中元素出现的频度(次数)

例如有一个列表

l=[1,1,-1,2,3,22,34,32,2,-3,34,22,-5]

统计列表中每个元素出现的多少次

方式一:

先把列表变成一个字典dict,字典的key对应列表中的每一个元素,value代表每个元素出现的次数

d=dict.fromkeys(l,0)#两个参数,第一个参数为对应的列表,第二个参数设置dict的默认value=0.

然后,遍历列表中每一个元素,dict中碰到该元素,value就加1.

for x in l:

  d[l]+=1

print(d)

方式二:

利用集合的Counter子类。

from collections import Counter

c=Counter(l)#直接把列表l传入Counter,返回一个dict,这个dict中的key对应集合中的每一个元素,value代表这个元素在集合中出现的次数

print(c.most_common(3))#Counter类的most_common()方法返回一个value从大到小的列表,返回n个最常见元素的列表及其数量。

时间: 2024-11-02 02:00:57

python学习--统计序列中元素出现的频度(次数)的相关文章

问题3:如何统计序列中元素的出现频度

例1:从随机列表中,找到找到出现次数最高的3个元素,及出现次数 方法一: from random import randint date = [randint(0, 20) for _ in range(100)] c = dict.fromkeys(date, 0) for x in date: c[x] += 1 c2 = sorted(c.items(), key = lambda k:k[1]) c3 = c2[len(c2)-3:] print(c3) date = [randint(

统计序列中元素出现的频度

案例1: 随机序列[1,2,3,4,44,2,3,8...]中,找出次数出现最高的3个元素,并统计他们出现的次数. # eg_v1 from random import randint data = [randint(1, 20) for _ in range(30)] print(data) # [19, 15, 4, 18, 18, 7, 18, 13, 18, 20, 18, 3, 5, 6, 7, 19, 2, 15, 3, 6, 13, 4, 14, 20, 1, 18, 13, 2,

python_如何统计序列中元素

问题1: 随机数列[12,5,8,7,8,9,4,8,5,...] 中出现次数最高的3个元素,他们出现的次数 问题2: 对某英文文章的单词,进行词频统计,找出出现次数最搞得10个单词,他们出现的次数是多少? 上面问题都是以字典的形式保存结果 如何解决问题1? 方法1: #!/usr/bin/python3 from random import randint def count_seq(data): # 初始化统计结果字典,data中的key作为结果字典的key,0作为每个key的初始值 res

用python统计list中各元素出现的次数(同理统计字符串中各字符出现的次数)

统计list中各元素出现的次数,下面的方法也适用于统计字符串中各字符出现的次数 1.用字典的形式来处理 a = "abhcjdjje" a_dict = {}for i in a: a_dict[i] = a.count(i)print(a_dict) 2.用count函数直接打印出来 L = [2,4,5,6,2,6,0,4] for i in L: print("%d的次数:%d"%(i,L.count(i))) 3.用collections的Counter函数

Python学习笔记----序列共性

序列操作符 作用seq[ind] 获得下标为ind 的元素seq[ind1:ind2] 获得下标从ind1 到ind2 间的元素集合seq * expr 序列重复expr 次seq1 + seq2 连接序列seq1 和seq2obj in seq 判断obj 元素是否包含在seq 中 obj not in seq 判断obj 元素是否不包含在seq 中 1.连接符(+):将一个序列和另外一个相同的序列做连接 这种方式连接序列不是最快的, 对于字符串来说,不如将所有字符串放在一个列表或者可迭代对象

python学习之web中的html

Web概述web起源web特点1.易导航和图形化界面2.与平台无关3.分布式结构4.动态性5.交互性 html 网页结构 HTML(Hyper Text Mark-up Language )即是超文本标记语言, 通过使用标记标签来描述页面文档结构和表现形式的一种语言,再由浏览器进行解析,然后把结果展示在网页上.?超文本指的是超链接?标记指的是标签1).HTML文件用编辑器打开显示的是文本,可以用文 本的方式编辑.2). HTML文件用浏览器打开,浏览器会按照标签描述内容将文件渲染成网页,显示的网

python 元组和字典中元素作为函数调用参数传递

模式1.  def test1(*args): test3(*args) def test2(**kargs): test3(**kargs) def test3(a, b): print(a,b) test1(1,2) test2(a=1,b=2) 模式2.  def test4(a= ()): test6(*a) def test5(b = {}): test6(**b) def test6(a, b): print(a,b) test4((1, 2)) test5({'a':1,'b':2

输入的数转化为二进制序列,并统计序列中1的个数

★输入的数转化为二进制序列,并统计序列中1的个数 描述:普通的模除取余后数直接除二的办法易于理解,但是对于输入的数只限于正数和零,对于负数则不适应,所以采用与后移位的方法以此来扩大数的输入范围. #include<stdio.h> int main() { int m,b,c,i; int count = 0; char a[32]; printf("请输入一个数:\n"); scanf("%d", &m); for (i = 0; i <

python之统计字符串中字母出现次数

dic=dict() d={} s=set() s='helloworld' (1)d=dict() for x in s: if x not in d.keys(): d[x]=1 else: d[x]=d[x]+1 print(d) (2)d2=dict() for x in s: d2[x]=d2.get(x,0)+1 print(d2) (3)d3=dict() for x in s: d3[x]=s.count(x) print(d3) 上面一共给出了三种方法,均是以字典的形式输出,但