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中的zipfile模块使用详解
Jun 25 Python
python从入门到精通(DAY 1)
Dec 20 Python
python3实现跳一跳点击跳跃
Jan 08 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
Python中%是什么意思?python中百分号如何使用?
Mar 20 Python
Python数据可视化之画图
Jan 15 Python
强悍的Python读取大文件的解决方案
Feb 16 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
Python实现栈和队列的简单操作方法示例
Nov 29 Python
Python计算信息熵实例
Jun 18 Python
基于Python爬取股票数据过程详解
Oct 21 Python
Python爬虫进阶之Beautiful Soup库详解
Apr 29 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读取数据库信息的几种方法
2008/05/24 PHP
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
Vue组件开发初探
2017/02/14 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
详解python播放音频的三种方法
2019/09/23 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
python__new__内置静态方法使用解析
2020/01/07 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
迎新晚会邀请函
2014/02/01 职场文书
环保标语口号
2014/06/13 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
医德医风学习心得体会
2016/01/25 职场文书
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers