先讨论一下以下编码: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
但此次启用的情况下就会有差别了。文章内容来源于:www.seo-7.comwww.sEo-6.comhttp://www.seo-6.com/seoyh/seojichurm/117775.html
(编辑:部分内容来互联网)