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函数中的默认参数
Mar 30 Python
python函数形参用法实例分析
Aug 04 Python
python 调用HBase的简单实例
Dec 18 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
python如何实现一个刷网页小程序
Nov 27 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
Apr 04 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
python科学计算之scipy——optimize用法
Nov 25 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
Jan 19 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
浅谈keras使用中val_acc和acc值不同步的思考
Jun 18 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
ajax 的post方法实例(带循环)
2011/07/04 PHP
php计算一个文件大小的方法
2015/03/30 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
jquery实现输入框动态增减的实例代码
2013/07/14 Javascript
javascript常见用法总结
2014/05/22 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
js断点调试经验分享
2017/12/08 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
一则python3的简单爬虫代码
2014/05/26 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
Sam’s Club山姆会员商店:沃尔玛旗下高端会员制商店
2017/01/16 全球购物
我们是伦敦女孩:WalG
2018/01/08 全球购物
数控技校生自我鉴定
2014/03/02 职场文书
办理收楼委托书范本
2014/10/09 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
诚信承诺书
2015/01/19 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
离婚民事起诉状
2015/08/03 职场文书
小学语文教学反思范文
2016/03/03 职场文书
如何使用SQL Server语句创建表
2022/04/12 SQL Server