python 字符串比较忽略大小写的方法_python实现忽略大小写对字符串列表排序的方法...

本文实例讲述了python实现忽略大小写对字符串列表排序的方法,是非常实用的技巧。分享给大家供大家参考。具体分析如下:

先来看看如下代码:

string = '''

the stirng

Has many

line In

THE fIle

jb51 net

'''

list_of_string = string.split()

print list_of_string #将字符串分离开,放入列表中

print '*'*50

def case_insensitive_sort(liststring):

listtemp = [(x.lower(),x) for x in liststring]#将字符串列表,生成元组,(忽略大小写的字符串,字符串)

listtemp.sort()#对元组排序,因为元组为:(忽略大小写的字符串,字符串),就是按忽略大小写的字符串排序

return [x[1] for x in listtemp]#排序完成后,返回原字符串的列表

print case_insensitive_sort(list_of_string)#调用起来,测试一下

结果:

['the', 'stirng', 'Has', 'many', 'line', 'In', 'THE', 'fIle', 'jb51', 'net']

**************************************************

['fIle', 'Has', 'In', 'jb51', 'line', 'many', 'net', 'stirng', 'THE', 'the']

另一种方法:

使用内建函数

sorted(iterable[,cmp[, key[,reverse]]])

该函数的官方描述文档如下:

Return a new sorted list from the items in iterable.

key specifies a function of one argument that is used to extract a comparison key from each list element:key=str.lower. The default value isNone.

使用参数key=str.lower

完整代码如下:

string = '''

the stirng

Has many

line In

THE fIle

jb51 net

'''

list_of_string = string.split()

print list_of_string #将字符串分离开,放入列表中

print '*'*50

def case_insensitive_sort2(liststring):

return sorted(liststring,key = str.lower)

print case_insensitive_sort2(list_of_string)#调用起来,测试一下

效果一样~

方法三:

使用list的sort方法:

该方法的官方描述文档如下:

The sort() method takes optional arguments for controlling the comparisons.

cmp specifies a custom comparison function of two arguments (list items) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument: cmp=lambda x,y: cmp(x.lower(), y.lower()). The default value is None.

key specifies a function of one argument that is used to extract a comparison key from each list element: key=str.lower. The default value is None.

reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.

具体代码如下:

string = '''

the stirng

Has many

line In

THE fIle

jb51 net

'''

list_of_string = string.split()

print list_of_string #将字符串分离开,放入列表中

print '*'*50

def case_insensitive_sort3(liststring):

liststring.sort(cmp=lambda x,y: cmp(x.lower(), y.lower()))

case_insensitive_sort3(list_of_string)

print list_of_string

但这次调用的时候就有区别了。

感兴趣的朋友可以调试运行一下本文实例以加深印象,相信会有新的收获!

本文标题: python实现忽略大小写对字符串列表排序的方法

本文地址: http://www.cppcns.com/jiaoben/python/114209.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

storm简介(大数据技术)

Apache Storm简介 由 chalex 创建,小路依依 最后一次修改 2016-12-12 什么是Apache Storm? Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。虽然St…

python无法对存在交叉部分的图片进行识别_Python异常样本识别 交叉验证出现错误?...

源码:fromsklearn.model_selectionimportKFoldfromsklearn.metricsimportrecall_scorefoldKFold(5,shuffleFalse)recall_accs[]c_param_range[0.01,0.1,1,10,100]results_tablep...源码:from sklearn.model_selection import KFoldfrom sklearn.metrics …

hive简介(大数据技术)

背景和概念 Hive是一个依赖于分布式存储的查询和管理大型数据集的数据仓库。传统的非大数据行业一般都是基于表进行数据存储和管理的,如果由于业务扩张或者其他原因迁移到HDFS平台上,那么需要将传统的SQL查询语句全部翻译成Map-reduce的程序实现&#xf…

返回顶部

html代码&#xff1a; <button style"position: fixed;right: 30px;bottom:20px" id"back" onclick"back()">返回顶部</button> javascript代码&#xff1a; for(var i 0; i < 100; i){ document.write("<li>"…

php npm,php – Laravel中NPM,Composer和Bower的区别?

所以在Laravel有Composer,NPM和Bower,我知道他们都是deoendancy经理.Composer – 这似乎关注PHP依赖关系,包列表是composer.json的内容控制器.要安装软件包,您可以添加到此文件或运行php composer install< package>.NPM – 这似乎专注于JavaScript依赖,但也有一个疯狂的…

kafka简介(大数据技术)

kafka是用于构建实时数据管道和流应用程序。具有横向扩展&#xff0c;容错&#xff0c;wicked fast&#xff08;变态快&#xff09;等优点&#xff0c;并已在成千上万家公司运行。 简单说明什么是kafka Apache kafka是消息中间件的一种&#xff0c;我发现很多人不知道消息中间件…

python爬取百度贴吧中的所有邮箱_python写的百度贴吧邮箱采集(带界面)

from main_def import *importrequests,reimportdatetime,timefrom tkinter importENDheaders{"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36"}#单个帖子爬虫def…

matlab晶闸管整流电路,采用Matlab/Simulink对三相桥式全控整流电路的仿真分析

本文利用Simulink对三相桥式全控整流电路进行建模&#xff0c;对不同控制角、桥故障情况下进行了仿真分析&#xff0c;既进一步加深了三相桥式全控整流电路的理论&#xff0c;同时也为现代电力电子实验教学奠定良好的实验基础。1 电路的构成及工作特点三相桥式全控整流电路原理…

flume简介(大数据技术)

1 .背景 flume是由cloudera软件公司产出的可分布式日志收集系统&#xff0c;后与2009年被捐赠了apache软件基金会&#xff0c;为hadoop相关组件之一。尤其近几年随着flume的不断被完善以及升级版本的逐一推出&#xff0c;特别是flume-ng;同时flume内部的各种组件不断丰富&#…

vue中waiting for update signal from wds_10个vue快捷开发技巧助你成为中级前端工程师!(二)...

前言先赞再看&#xff0c;养成习惯~优雅更新props更新 prop 在业务中是很常见的需求&#xff0c;但在子组件中不允许直接修改 prop&#xff0c;因为这种做法不符合单向数据流的原则&#xff0c;在开发模式下还会报出警告。因此大多数人会通过 $emit 触发自定义事件&#xff0c;…

python开发学习笔记之六(面向对象)

面向对象引入&#xff1a; 现在有一个这样的需求&#xff1a;做汽水。 在之前的学习中&#xff0c;我们怎样处理这种类似的问题呢&#xff1f;思考一下&#xff0c;哦&#xff0c;不就是分步骤做嘛&#xff0c;把复杂的问题简单化&#xff0c;分成一个一个的步骤&#xff0c;就…

wampserver php乱码,WampServer搭建php环境可能遇到的问题

WampServer搭建php环境可能遇到的问题1.安装时报错&#xff0c;缺少 MSVCR100.dll 文件这是因为wampServer安装时用到的vc库没有更新&#xff0c;要安装更新之后再进行安装&#xff0c;因为之前安装的VC版本低了&#xff0c;才导致安装的时候提示丢失MSVCR100.dll文件。以下分别…

python总结字典集合列表_python 列表,元组,字典,集合,字符串相互转换

本文主要介绍列表&#xff0c;元组&#xff0c;字典&#xff0c;集合以及和字符串之间的相互转换。1. 列表与元组的互换# 将列表转化为元组li [1, 2, 3]t tuple(li)print(t, type(t))# 打印结果:(1, 2, 3) # 将元组转换成列表tu (1, 2, 3)li list(tu)print(li, type(li))# …

hbase简介(大数据技术)

HBase是什么? HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目&#xff0c;是横向扩展的。 HBase是一个数据模型&#xff0c;类似于谷歌的大表设计&#xff0c;可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统&#xff08;HDFS&…

NAT地址转换

2017年1月12日, 星期四NAT地址转换SNAT&#xff1a;源地址转换DNAT&#xff1a;目标地址转换null转载于:https://www.cnblogs.com/jxhd1/p/9521173.html

mysql l日志分析,MySQL的截取与分析日志文件

在处理过程中&#xff0c;对几种常用的日志截取方法进行了汇总和测试&#xff1a;截取日志段的的方法汇总与测试方式一&#xff1a; 确定时间段的行号&#xff0c;使用head和tail命令截取 搜索时间&#xff1a; Time: 151212 00:00:00 先到gg&#xff0c;到文件最前面&#xff…

slide简介(大数据技术)

2.1SLIDER产生背景 为了解决MR1扩展性差、可靠性差、资源利用率低和无法支持多种计算框架等局限性&#xff0c;Apache社区将其升级了计算框架MRv2。Hadoop将资源管理功能抽象成了一个独立的通用系统YARN 在以MapReduce为核心的软件栈中&#xff0c;资源管理系统YARN是可插拔的&…

修改小程序swiper 点的样式_高质量的微信小程序样式模板应该长什么样?

现在不懂技术的小白若想快速制作自己的小程序&#xff0c;一般是通过小程序模板来实现。通过在模板上添加自己的图片、文字、商品等等&#xff0c;可以很简单地生成一个小程序。不过要想把小程序做得好看&#xff0c;你得找高质量的小程序样式模板才行。那么高质量的微信小程序…

spark简介(大数据技术)

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架&#xff0c;Spark&#xff0c;拥有Hadoop MapReduce所具有的优点&#xff1b;但不同于MapReduce的是——…

python的concat用法_python的concat等多种用法详解

本文为大家分享了python的concat等多种用法&#xff0c;供大家参考&#xff0c;具体内容如下1、numpy中的concatenate()函数&#xff1a;>>> a np.array([[1, 2], [3, 4]])>>> b np.array([[5, 6]])>>> np.concatenate((a, b), axis0)array([[1, …