时间:2021-05-22
本文实例讲述了python实现忽略大小写对字符串列表排序的方法,是非常实用的技巧。分享给大家供大家参考。具体分析如下:
先来看看如下代码:
string = '''the stirngHas manyline InTHE fIlejb51 net'''list_of_string = string.split()print list_of_string #将字符串分离开,放入列表中print '*'*50def 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 stirngHas manyline InTHE fIlejb51 net'''list_of_string = string.split()print list_of_string #将字符串分离开,放入列表中print '*'*50def 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 stirngHas manyline InTHE fIlejb51 net'''list_of_string = string.split()print list_of_string #将字符串分离开,放入列表中print '*'*50def 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但这次调用的时候就有区别了。
感兴趣的朋友可以调试运行一下本文实例以加深印象,相信会有新的收获!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
regularexpression=/pattern/[switch]这个switch就有三种值g:全局匹配i:忽略大小写gi:全局匹配+忽略大小写JScrip
mysql默认varchar类型是对大小写不敏感(不区分),如果想要mysql区分大小写需要设置排序规则:utf8_bin将字符串中的每一个字符用二进制数据存储
MSSQL实现验证字符串是否包含有大小写字母的功能昨晚有实现一个小功能,就是在MSSQLServer中,检查字符串是否包含有大小写字母。通常应用在字符串的复杂度
swapCase()方法返回所有可大小写,基于字符大小写交换字符串的一个副本。语法以下是swapCase()方法的语法:str.swapcase();参数NA返
C语言strcmp()函数:比较字符串(区分大小写)头文件:#includestrcmp()用来比较字符串(区分大小写),其原型为:intstrcmp(cons