字母大小写对python有影响吗_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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值