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的内存泄漏及gc模块的使用分析
Jul 16 Python
简单介绍Python中的RSS处理
Apr 13 Python
pygame播放音乐的方法
May 19 Python
对python append 与浅拷贝的实例讲解
May 04 Python
python scp 批量同步文件的实现方法
Jan 03 Python
python批量下载抖音视频
Jun 17 Python
Pandas 缺失数据处理的实现
Nov 04 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
May 26 Python
用python实现学生管理系统
Jul 24 Python
python中pow函数用法及功能说明
Dec 04 Python
pandas中DataFrame检测重复值的实现
May 26 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
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
php实现简易计算器
2020/08/28 PHP
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
浅谈javascript的调试
2015/01/28 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
vue 限制input只能输入正数的操作
2020/08/05 Javascript
Python的argparse库使用详解
2018/10/09 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
django 简单实现登录验证给你
2019/11/06 Python
如何使用python进行pdf文件分割
2019/11/11 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
专业求职信撰写要诀
2014/02/18 职场文书
党章培训心得体会
2014/09/04 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
react antd实现动态增减表单
2021/06/03 Javascript