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

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

概述Python中sorted()排序字母大小写的问题 今天我在练习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 Alic

今天我在练习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中sorted()排序与字母大小写的问题全部内容,希望文章能够帮你解决Python中sorted()排序与字母大小写的问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1199379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存