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

 更新时间:2020年01月14日 10:29:18   作者:ImwaterP  
这篇文章主要介绍了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

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

相关文章

  • Python自定义元类的实例讲解

    Python自定义元类的实例讲解

    在本篇文章里小编给大家整理的是一篇关于Python自定义元类的实例讲解内容,有兴趣的朋友们可以学习参考下。
    2021-03-03
  • python 多线程爬取壁纸网站的示例

    python 多线程爬取壁纸网站的示例

    这篇文章主要介绍了python 多线程爬取壁纸网站的示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02
  • Python必备技巧之集合Set的使用

    Python必备技巧之集合Set的使用

    在数学中,对集合的严格定义可能是抽象的且难以掌握。但实际上可以将集合简单地认为是定义明确的不同对象的集合,通常称为元素或成员。Python 提供了一个内置的集合类型来将对象分组到一个集合中,快跟随小编一起学习一下吧
    2022-03-03
  • 使用Python实现图像颜色量化的方法

    使用Python实现图像颜色量化的方法

    这篇文章主要介绍了使用Python进行图像颜色量化,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Pandas数据处理库画图与文件读取使用示例

    Pandas数据处理库画图与文件读取使用示例

    这篇文章主要为大家介绍了Pandas数据处理库画图与文件读取使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Python异常捕获以及简单错误日志生成方式

    Python异常捕获以及简单错误日志生成方式

    这篇文章主要介绍了Python异常捕获以及简单错误日志生成方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • python filecmp.dircmp实现递归比对两个目录的方法

    python filecmp.dircmp实现递归比对两个目录的方法

    这篇文章主要介绍了python filecmp.dircmp实现递归比对两个目录的方法,本文通过实例代码给大家介绍的非常详细,大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Python使用MapReduce编程模型统计销量

    Python使用MapReduce编程模型统计销量

    MapReduce是面向大数据并行处理的计算模型、框架和平台,是一种计算引擎,可以把我们对大批量数据的计算通过抽象成map与reduce两个子任务进行计算从而更快的得到想要的结果
    2022-04-04
  • python之yield和Generator深入解析

    python之yield和Generator深入解析

    这篇文章主要介绍了python之yield和Generator深入解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 详解python os.path.exists判断文件或文件夹是否存在

    详解python os.path.exists判断文件或文件夹是否存在

    这篇文章主要介绍了详解python os.path.exists判断文件或文件夹是否存在,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论