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 可爱的大小写
Sep 06 Python
Django中使用locals()函数的技巧
Jul 16 Python
使用python实现tcp自动重连
Jul 02 Python
Python 元类实例解析
Apr 04 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
python调用百度REST API实现语音识别
Aug 30 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
使用python实现希尔、计数、基数基础排序的代码
Dec 25 Python
Python3操作读写CSV文件使用包过程解析
Apr 10 Python
使用Python实现微信拍一拍功能的思路代码
Jul 09 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 Python
python中如何对多变量连续赋值
Jun 03 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
PHP数据缓存技术
2007/02/14 PHP
PHP伪造referer实例代码
2008/09/20 PHP
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
js实现秒表计时器
2019/12/16 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
python批量制作雷达图的实现方法
2016/07/26 Python
python爬虫使用cookie登录详解
2017/12/27 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
python实现交并比IOU教程
2020/04/16 Python
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
艺术设计专业个人求职信
2013/09/21 职场文书
简单的项目建议书模板
2014/03/12 职场文书
《风筝》教学反思
2014/04/10 职场文书
房屋维修申请报告
2015/05/18 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
企业法人代表证明书
2015/06/18 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
如何在python中实现ECDSA你知道吗
2021/11/23 Python
JavaScript获取URL参数的方法分享
2022/04/07 Javascript
Win11更新失败并提示0xc1900101
2022/04/19 数码科技