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实现简单EXCEL数据统计的实例
Jan 24 Python
Python用threading实现多线程详解
Feb 03 Python
django+js+ajax实现刷新页面的方法
May 22 Python
python实现的正则表达式功能入门教程【经典】
Jun 05 Python
对numpy的array和python中自带的list之间相互转化详解
Apr 13 Python
python实现n个数中选出m个数的方法
Nov 13 Python
详解pandas的外部数据导入与常用方法
May 01 Python
Python socket 套接字实现通信详解
Aug 27 Python
Python中函数的返回值示例浅析
Aug 28 Python
Keras load_model 导入错误的解决方式
Jun 09 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 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+SqlServer实现分页显示
2006/10/09 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
php7下的filesize函数
2019/09/30 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
javascript二维数组转置实例
2015/01/22 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
人事主管的岗位职责
2013/11/16 职场文书
问卷调查计划书
2014/01/10 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
职称评定个人总结
2015/03/05 职场文书
客户付款通知书
2015/04/23 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书