Python中sorted()排序与字母大小写的问题
发布时间:2020-05-24 23:04:36 所属栏目:Python 来源:互联网
导读:Python中sorted()排序与字母大小写的问题 今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序 研究后发现字母大小写会影响排序 首先创建一个字典,键里面的首字母有大写有小写 favorite_digit = { john : 4, Tom : 5, Lisa : 9, liu : 5,
|
今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序 研究后发现字母大小写会影响排序 首先创建一个字典,键里面的首字母有大写有小写
favorite_digit = {
'john' : 4,'Tom' : 5,'Lisa' : 9,'liu' : 5,'alice' : 0,}
for name in sorted(favorite_digit.keys()):
print(name.title())
运行后发现与预期不符合。
接着我不使用title函数又进行排序 for name in sorted(favorite_digit.keys()): print(name) 运行结果
结果发现,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()) #再次打印,结果为预期结果
打印结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
