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使用多线程不断刷新网页的方法
Mar 31 Python
Django的session中对于用户验证的支持
Jul 23 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
强悍的Python读取大文件的解决方案
Feb 16 Python
详解Python3 pickle模块用法
Sep 16 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
用python修改excel表某一列内容的操作方法
Jun 11 Python
详解Python中下划线的5种含义
Jul 15 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将session信息存储到数据库的类实例
2015/03/04 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
Python模拟登录12306的方法
2014/12/30 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
python实现动态创建类的方法分析
2019/06/25 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
劳资专员岗位职责
2013/12/27 职场文书
宿舍使用违章电器检讨书
2014/01/12 职场文书
人事科岗位职责范本
2014/03/02 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
初一学生期末评语
2014/04/24 职场文书
爱护公物标语
2014/06/24 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
一级电子管军用接收机测评
2022/04/05 无线电
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers