Python中sorted()排序与字母大小写的问题

作者:ImwaterP 时间:2022-08-18 16:23:49 

今天我在练习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

来源:https://blog.csdn.net/ImwaterP/article/details/88322971

标签:Python,sorted()排序
0
投稿

猜你喜欢

  • js处理括弧配对替换的方法

    2008-01-16 13:48:00
  • 详谈mysqldump数据导出的问题

    2024-01-21 19:35:29
  • vue3简单封装input组件和统一表单数据详解

    2024-04-26 17:41:18
  • 两种与SQL Server数据库交换数据的方法

    2008-12-10 15:39:00
  • 使用Python实现一个蔡徐坤大战篮球的小游戏(推荐)

    2022-03-07 19:02:13
  • PHP中__LINE__,__FILE__,__DIR__等常用魔术常量实例讲解

    2023-06-13 23:42:32
  • python 用pandas实现数据透视表功能

    2022-04-23 02:49:40
  • python3发送request请求及查看返回结果实例

    2023-09-18 11:34:10
  • python二维列表一维列表的互相转换实例

    2023-07-09 10:27:40
  • pandas使用fillna函数填充NaN值的代码实例

    2023-09-29 05:51:48
  • 用户界面设计中“状态”和“动作”的表达

    2011-01-06 12:36:00
  • python使用QQ邮箱实现自动发送邮件

    2021-03-03 22:10:06
  • Python学习之路之pycharm的第一个项目搭建过程

    2022-01-14 23:16:52
  • MySQL为何不建议使用默认值为null列

    2024-01-22 17:11:10
  • CentOS6.4上使用yum安装mysql

    2024-01-18 10:07:09
  • Python 忽略文件名编码的方法

    2021-06-11 15:16:55
  • 浅析Python中的序列化存储的方法

    2022-09-28 19:21:26
  • Vue.js仿Metronic高级表格(二)数据渲染

    2024-04-10 10:32:45
  • SQL Server使用row_number分页的实现方法

    2024-01-28 21:02:38
  • python分析inkscape路径数据方案简单介绍

    2021-05-13 14:51:09
  • asp之家 网络编程 m.aspxhome.com