实际案例: 某班英语成绩以字典形式存储为: { 'LiLei' : 90, 'Jim' : 88, 'Lucy': 92 } 如何根据成绩高低,计算学生排名 -- 根据分数,进行排名,并且把排名信息添加到字典中 解决方案 首先想到-- 将字典中的各项转换为元组,使用内置函数sorted排序  ( --sorted -不能直接对字典,根据值进行排序--需要转换 -把字典中的各项转换为元组,把元组放在一个列表中,对列表进行排序 -- 方案一: 将字典中的项转化为(键,值)元组, ( 方式---列表解…
实际案例: 某编程竞赛系统,对参赛选手编程解体进行计时,选手完成题目后,吧该选手解体用时记录到字典中,以便赛后按选手名查询成绩 {'Lilei':(2,43),'HanMei':(5,52),'Jim':(1,39)...} 比赛结束后,需按排名顺序依次打印选手成绩, 如何实现? from collections import OrderedDict # shuffle 洗牌函数, 可以将列表的次序打乱 from random import shuffle ''' 使用标准库 collectio…
实际案例: 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)的交集操作 ---获…
如何根据字典中值的大小对字典项排序 问题举例 某班英语成绩以字典形式存储,如何根据成绩高低,计算学生成绩排名 { “tom”:80, "lily":88, "marton":99, } 分析:字典中的值无法用sorted函数进行排序,我们可以将字典各项转换成元组,使用sorted函数进行排序 元组元素比较规则,先比较第一个元素,若相等则比较第二个,以此类推. 将字典中的各项转换成元组,使用内置函数sorted进行排序 (1)列表解析 from random impo…
字典的元素是成键值对出现的,直接对字典使用sorted() 排序,它是根据字典的键的ASCII编码顺序进行排序,要想让字典根据值的大小来排序,可以有两种方法来实现: 一.利用zip函数将字典数据转化为元组再用sorted() 排序 from random import randint # 用随机函数生成待排序的字典数据 my_dict = {x: randint(60, 100) for x in 'abcxyzgkj'} # 将字典数据转化为元组,把字典的值作为元组的第0项,键作为元组的第1项…
class TrieTree(): def __init__(self): self.root = {} def addNode(self,str): # 树中每个结点(除根节点),包含到该结点的单词数,以及该结点后面出现字母的键 nowdict = self.root for i in range(len(str)): if str[i] not in nowdict: # 发现新的组合方式 nowdict[str[i]] = {'count':0,'prefix':str[:i+1]} no…
一直以来,前端展示字典一般以中文展示为主,若在表中存字典值中文,当字典表更改字典值对应的中文,会造成数据不一致,为此设置冗余字段并非最优方案,若由前端自己写死转义,不够灵活,若在业务代码转义,臃肿也不够通用,从网络上了解到注解.AOP是一种不错的解决方案,主要有两种方式: 1.通过注解获取结果集转为JSON字符串,通过正则查找附加字段: 2.通过获取结果集中相关字段上注解,此种方法有两个需要解决的问题,父类继承字段.嵌合对象难以解决获取对应注解字段问题,解决起来均比较麻烦: 因此本文采用第一种方…
一位大牛Niklaus Wirth曾有一本书,名为<Algorithms+Data Structures=Programs>,翻译过来也就是算法+数据结构=程序.而本文就是介绍一下Python中内建的三种数据结构----列表.元组以及字典. 列表 列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目. 1.list函数 因为字符串不能像列表一样被修改,所以有时候根据字符串创建列表就很有用了,list可以实现这个操作: >>>list("Hel…
有序字典 在Python中,字典类型里面的元素默认是无序的,但是我们也可以通过collections模块创建有序字典 # -*- coding:utf-8 -*- # python有序字典需导入模块collections import collections # 通过OrderedDict类创建的字典是有序的 dic = collections.OrderedDict() dic['k1'] = 'v1' dic['k2'] = 'v2' dic['k3'] = 'v3' print(dic)…