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 相关文章推荐
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
利用python程序生成word和PDF文档的方法
Feb 14 Python
python 截取 取出一部分的字符串方法
Mar 01 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
Python对wav文件的重采样实例
Feb 25 Python
Python使用进程Process模块管理资源
Mar 05 Python
python中JWT用户认证的实现
May 18 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+ajax无刷新上传图片实例代码
2015/11/17 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
python快速排序代码实例
2013/11/21 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
python super函数使用方法详解
2020/02/14 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
生产部厂长职位说明书
2014/03/03 职场文书
学校四风对照检查材料
2014/08/28 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
浅谈Vue的computed计算属性
2022/03/21 Vue.js