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


Posted in Python onSeptember 25, 2014

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

先来看看如下代码:

string = '''
the stirng
Has many
line In
THE fIle
3water 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', '3water', 'net']
**************************************************
['fIle', 'Has', 'In', '3water', '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
3water 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
3water 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 相关文章推荐
python访问mysql数据库的实现方法(2则示例)
Jan 06 Python
Python机器学习之决策树算法
Dec 22 Python
python获取服务器响应cookie的实例
Dec 28 Python
Python 实现输入任意多个数,并计算其平均值的例子
Jul 16 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
浅谈python 中的 type(), dtype(), astype()的区别
Apr 09 Python
基于python实现上传文件到OSS代码实例
May 09 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
pandas中对文本类型数据的处理小结
Nov 01 Python
Python Django项目和应用的创建详解
Nov 27 Python
python对字典进行排序实例
Sep 25 #Python
python实现在无须过多援引的情况下创建字典的方法
Sep 25 #Python
python迭代器实例简析
Sep 25 #Python
Python中itertools模块用法详解
Sep 25 #Python
Python中unittest用法实例
Sep 25 #Python
跟老齐学Python之赋值,简单也不简单
Sep 24 #Python
跟老齐学Python之深入变量和引用对象
Sep 24 #Python
You might like
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
PDO实现学生管理系统
2020/03/21 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
比Jquery的document.ready更快的方法
2010/04/28 Javascript
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
使用vue重构资讯页面的实例代码解析
2019/11/26 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
JS访问对象两种方式区别解析
2020/08/29 Javascript
JS运算符优先级与表达式示例详解
2020/09/04 Javascript
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
基python实现多线程网页爬虫
2015/09/06 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
python getpass实现密文实例详解
2019/09/24 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
大学四年个人的自我评价
2014/02/26 职场文书
护林防火标语
2014/06/27 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
分居协议书范本
2014/11/03 职场文书
2015年度企业工作总结
2015/05/21 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
新党员入党决心书
2015/09/22 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
基于Python的EasyGUI学习实践
2021/05/07 Python
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS
ubuntu下常用apt命令介绍
2022/06/05 Servers