欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)忽略大小寫對(duì)字符串列表排序的方法

 更新時(shí)間:2014年09月25日 15:29:43   投稿:shichen2014  
這篇文章主要介紹了python實(shí)現(xiàn)忽略大小寫對(duì)字符串列表排序的方法,通過三種不同的方法實(shí)現(xiàn)了對(duì)字符串的排序,是非常實(shí)用的技巧,需要的朋友可以參考下

本文實(shí)例講述了python實(shí)現(xiàn)忽略大小寫對(duì)字符串列表排序的方法,是非常實(shí)用的技巧。分享給大家供大家參考。具體分析如下:

先來看看如下代碼:

string = '''
the stirng
Has many
line In
THE fIle
jb51 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()#對(duì)元組排序,因?yàn)樵M為:(忽略大小寫的字符串,字符串),就是按忽略大小寫的字符串排序

  return [x[1] for x in listtemp]#排序完成后,返回原字符串的列表

print case_insensitive_sort(list_of_string)#調(diào)用起來,測(cè)試一下

結(jié)果:

['the', 'stirng', 'Has', 'many', 'line', 'In', 'THE', 'fIle', 'jb51', 'net']
**************************************************
['fIle', 'Has', 'In', 'jb51', 'line', 'many', 'net', 'stirng', 'THE', 'the']

另一種方法:

使用內(nèi)建函數(shù)
sorted(iterable[,cmp[, key[,reverse]]])

該函數(shù)的官方描述文檔如下:

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.

使用參數(shù)key=str.lower

完整代碼如下:

string = '''
the stirng
Has many
line In
THE fIle
jb51 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)#調(diào)用起來,測(cè)試一下

效果一樣~

方法三:

使用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
jb51 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

但這次調(diào)用的時(shí)候就有區(qū)別了。

感興趣的朋友可以調(diào)試運(yùn)行一下本文實(shí)例以加深印象,相信會(huì)有新的收獲!

相關(guān)文章

最新評(píng)論