python實(shí)現(xiàn)忽略大小寫對(duì)字符串列表排序的方法
本文實(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)文章
python項(xiàng)目運(yùn)行導(dǎo)致內(nèi)存越來越大的原因詳析
最近在跑python程序時(shí),出現(xiàn)占用的內(nèi)存不斷增加的情況,下面這篇文章主要給大家介紹了關(guān)于python項(xiàng)目運(yùn)行導(dǎo)致內(nèi)存越來越大的原因詳析,本文通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11Python 使用folium繪制leaflet地圖的實(shí)現(xiàn)方法
今天小編就為大家分享一篇Python 使用folium繪制leaflet地圖的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07numpy中數(shù)組拼接、數(shù)組合并方法總結(jié)(append(),?concatenate,?hstack,?vstack
numpy庫是一個(gè)高效處理多維數(shù)組的工具,可以在進(jìn)行邊寫的數(shù)組計(jì)算上進(jìn)行一系列的操作,下面這篇文章主要給大家介紹了關(guān)于numpy中數(shù)組拼接、數(shù)組合并方法(append(),?concatenate,?hstack,?vstack,?column_stack,?row_stack,?np.r_,?np.c_等)的相關(guān)資料,需要的朋友可以參考下2022-08-08Python粒子煙花動(dòng)態(tài)效果實(shí)現(xiàn)
這篇文章主要介紹了Python實(shí)現(xiàn)粒子煙花動(dòng)態(tài)效果,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01python的reverse函數(shù)翻轉(zhuǎn)結(jié)果為None的問題
這篇文章主要介紹了python的reverse函數(shù)翻轉(zhuǎn)結(jié)果為None的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05python入門之基礎(chǔ)語法學(xué)習(xí)筆記
學(xué)習(xí)python過程中需要了解的一些基礎(chǔ)語法特整理一下方便更開始接觸python的朋友2020-02-02python 計(jì)算數(shù)據(jù)偏差和峰度的方法
今天小編就為大家分享一篇python 計(jì)算數(shù)據(jù)偏差和峰度的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python多進(jìn)程同步Lock、Semaphore、Event實(shí)例
這篇文章主要介紹了Python多進(jìn)程同步Lock、Semaphore、Event實(shí)例,Lock用來避免訪問沖突、Semaphore用來控制對(duì)共享資源的訪問數(shù)量、Event用來實(shí)現(xiàn)進(jìn)程間同步通信,需要的朋友可以參考下2014-11-11用Python實(shí)現(xiàn)一個(gè)打字速度測(cè)試工具來測(cè)試你的手速
有很多小伙伴們都苦惱自己手速不夠,今天特地整理了這篇文章,教你用Python實(shí)現(xiàn)一個(gè)打字測(cè)試工具來測(cè)試你的打字速度,文中有非常詳細(xì)的代碼示例,對(duì)想練手速的小伙伴們很有用哦,需要的朋友可以參考下2021-05-05