Python中sorted()排序与字母大小写的问题


Posted in Python onJanuary 14, 2020

今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序

研究后发现字母大小写会影响排序

首先创建一个字典,键里面的首字母有大写有小写

favorite_digit = {
    'john' : 4, 
    'Tom' : 5, 
    'Lisa' : 9, 
    'liu' : 5, 
    'alice' : 0, 
    }
for name in sorted(favorite_digit.keys()):
  print(name.title())

运行后发现与预期不符合。

Lisa
Tom
Alice
John
Liu

接着我不使用title函数又进行排序

for name in sorted(favorite_digit.keys()):
  print(name)

运行结果

Lisa
Tom
alice
john
liu

结果发现,sorted先对首字母大写进行排序,然后才对小写字母排序。正因为我使用了title,使得排序看起来十分混乱。

为了避免此类情况的发生,我先创建一个空白字典将原先字典键小写化储存,然后遍历原先的字典,将键转化为小写,同时将数据储存在新的字典中。

favorite_digit_lower = {}  #先创建一个字典将原先字典键小写化储存

for name, digit in favorite_digit.items():
  name = name.lower() #然后遍历原先的字典,将键转化为小写,同时将数据储存在新的字典中
  #print(name) #这里也可以加一个print检查name是否成功写入小写
  favorite_digit_lower [name] = digit #将原来字典的内容复制到新字典里
for name in sorted(favorite_digit_lower.keys()):
  print(name.title()) #再次打印,结果为预期结果

打印结果

Alice
John
Lisa
Liu
Tom

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详细解析Python中的变量的数据类型
May 13 Python
python编程开发之textwrap文本样式处理技巧
Nov 13 Python
python类中super()和__init__()的区别
Oct 18 Python
python 禁止函数修改列表的实现方法
Aug 03 Python
酷! 程序员用Python带你玩转冲顶大会
Jan 17 Python
Python中常见的异常总结
Feb 20 Python
详解python实现数据归一化处理的方式:(0,1)标准化
Jul 17 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
Aug 14 Python
Python多个装饰器的调用顺序实例解析
May 22 Python
python3.7+selenium模拟淘宝登录功能的实现
May 26 Python
conda安装tensorflow和conda常用命令小结
Feb 20 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
Pytorch实现LSTM和GRU示例
Jan 14 #Python
Python生成词云的实现代码
Jan 14 #Python
pytorch-RNN进行回归曲线预测方式
Jan 14 #Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 #Python
pytorch下使用LSTM神经网络写诗实例
Jan 14 #Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
Jan 14 #Python
pytorch实现mnist数据集的图像可视化及保存
Jan 14 #Python
You might like
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
初识ThinkPHP控制器
2016/04/07 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
可以将word转成html的js代码
2010/04/11 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
js图片预加载示例
2014/04/30 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
DOM事件探秘篇
2017/02/15 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
深入解析Python中的集合类型操作符
2015/08/19 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
C#面试题
2016/05/06 面试题
学生党支部先进事迹
2014/02/04 职场文书
2014政务公开实施方案
2014/02/19 职场文书
根叔历年演讲稿
2014/05/20 职场文书
2014年实验室工作总结
2014/12/03 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
会议主持人开场白台词
2015/05/28 职场文书
毕业设计工作总结
2015/08/14 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang