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 相关文章推荐
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
Python 删除连续出现的指定字符的实例
Jun 29 Python
Python2与Python3的区别实例总结
Apr 17 Python
flask框架单元测试原理与用法实例分析
Jul 23 Python
Django中文件上传和文件访问微项目的方法
Apr 27 Python
Python实现电视里的5毛特效实例代码详解
May 15 Python
python实现npy格式文件转换为txt文件操作
Jul 01 Python
Python爬虫教程之利用正则表达式匹配网页内容
Dec 08 Python
selenium+headless chrome爬虫的实现示例
Jan 08 Python
Python 多线程处理任务实例
Nov 07 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循环语句笔记(foreach,list)
2011/11/29 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
php查询内存信息操作示例
2019/05/09 PHP
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
JQuery点击行tr实现checkBox选中的简单实例
2016/05/26 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
[00:36]DOTA2上海特级锦标赛 Archon战队宣传片
2016/03/04 DOTA
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
python五子棋游戏的设计与实现
2019/06/18 Python
工商管理系学生的自我评价分享
2013/11/29 职场文书
少年闰土教学反思
2014/02/22 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
工地食品安全责任书
2015/05/09 职场文书
民主生活会意见
2015/06/05 职场文书
新闻稿件写作范文
2015/07/18 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
MySQL表字段时间设置默认值
2021/05/13 MySQL
vue 给数组添加新对象并赋值
2022/04/20 Vue.js