实际案例: 1. 某随机序列 [12,5,6,4,6,5,5,7]中,找到出现次数最高的3个元素,它们出现的次数是多少? 2. 对于某英文文章的单词,进行词频统计,找到出现次数最高的10个单词,它们出现次数是多少? 案例一:  1. 某随机序列 [12,5,6,4,6,5,5,7]中,找到出现次数最高的3个元素,它们出现的次数是多少? 解决方案: 方案1 : 将序列转化为字典 {元素:频度} ,根据字典中的值排序 '''列表&生成器解析的缺点:假如列表很大,比如1万个,只需要最大前三个时候,对整…
实际案例: 某班英语成绩以字典形式存储为: { 'LiLei' : 90, 'Jim' : 88, 'Lucy': 92 } 如何根据成绩高低,计算学生排名 -- 根据分数,进行排名,并且把排名信息添加到字典中 解决方案 首先想到-- 将字典中的各项转换为元组,使用内置函数sorted排序  ( --sorted -不能直接对字典,根据值进行排序--需要转换 -把字典中的各项转换为元组,把元组放在一个列表中,对列表进行排序 -- 方案一: 将字典中的项转化为(键,值)元组, ( 方式---列表解…
  1.如何在列表, 字典, 集合中根据条件筛选数据¶ In [1]: from random import randint In [2]: data = [randint(-10,10) for _ in range(10)] In [3]: data Out[3]: [4, 4, -5, 6, 7, 10, 5, -7, -6, -9] In [4]: # 筛选出列表中大于0的元素 # 使用filter函数 list(filter(lambda x:x>=0,data)) Out[4]: […
实际案例: 学生信息系统中,数据为固定格式:(名字,年龄,性别,邮箱) ,通常使用元组来存储 使用优点: 使用元组最大的优点在于节省空间,存储相同的数据,使用元组比使用字典,空间小很多 使用缺点: 访问元组数据时,需要使用索引,(index),访问,大量索引降低程序的可读性 解决方案 方案一: 定义一系列数值常量或枚举类型 方案二:  使用标准库中 collections.nametuple 替代内置 tuple   方案一:     定义数值常量  使用枚举   #使用枚举,相当于创建了一个名…
实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89,32,20..}中能被3整出的元素 ---最通用方法,FOR循环迭代,加上if判断进行过滤 例如: 这样写的问题:  在Python里显得很啰嗦,效率也很差! 解决方案--- 列表  列子:  列表解析: '''filter函数filter(,)接收2个参数,第一个,传入一个过滤函数,通常用lamb…
如何快速查找到多个字典中的公共键(Key)-?   实际案例: 西班牙足球甲级联赛,每轮球员进球统计: 第1轮: { '苏亚雷斯':1,'梅西':2,'本泽马':1,...} 第2轮: { '苏亚雷斯':1,'C罗':2,'剑圣':1,...} 第3轮: { '苏亚雷斯':1,'卡尔':2,'贝利':1,...} ... 统计出前N轮,每场比赛都有进球的球员 .   --N个字典中,寻找公共键的问题 -- 比较容易想到的方法: 我们的方法: 解决方案:   利用集合(set)的交集操作 ---获…
实际案例: 某编程竞赛系统,对参赛选手编程解体进行计时,选手完成题目后,吧该选手解体用时记录到字典中,以便赛后按选手名查询成绩 {'Lilei':(2,43),'HanMei':(5,52),'Jim':(1,39)...} 比赛结束后,需按排名顺序依次打印选手成绩, 如何实现? from collections import OrderedDict # shuffle 洗牌函数, 可以将列表的次序打乱 from random import shuffle ''' 使用标准库 collectio…
如何统计序列中元素的频度 问题举例 如何找出随机序列[1, 5, 6, 5, 3, 2, 1, 0, 6, 1, 6]中出现频度最高的3个元素? 如何统计某篇英文文章中词频最高的5个单词? 将序列转换成字典(元素:频度),根据字典的值进行排序 列表 from random import randint list1 = [randint(0, 10) for _ in range(30)] print(list1) dict1 = dict.fromkeys(list1, 0) for item…
1.用内置的count()方法,该方法返回子字符串在字符串中出现的次数(同样适用于列表)2.用collections模块的Counter类 示例: from collections import Counter # ================================================================================================== # # 获取字符串string中a出现的次数 string = "abcdeabcab…
案例一:在某随机序例中,找到出现频度最高的3个元素,它们出现的次数是多少? from random import randint # 利用列表解析器生成随机序列,包含有30个元素 data = [randint(0, 20) for _ in range(30)] # 以data中的元素作为字典的键,以0作为值创建一个字典 my_dict = dict.fromkeys(data,0) # 对序列data进行迭代循环 for x in data: my_dict[x] += 1 # 对迭代的每个…