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

Python3之字符串比較_重寫cmp函數(shù)方式

 更新時間:2022年02月09日 14:06:41   作者:solitary_w  
這篇文章主要介紹了Python3之字符串比較_重寫cmp函數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Python3字符串比較_重寫cmp函數(shù)

由于在C ++中習(xí)慣了使用CMP函數(shù),所以在遇到字符串排序時,想當(dāng)然的去使用sort(開始,結(jié)束,CMP)去對列表進行排序,但結(jié)果好像不行。

后來查閱網(wǎng)上資料,好像在python3中CMP函數(shù)已經(jīng)被取代了。

故而只能另求他法了。下面是很簡單的一個字符串日期提取及根據(jù)日期排序。

需求是這樣的,由于從文本中讀入的字符串是無序的,但在輸出時需要按時間前后輸出。

不多說,直接上代碼

#!/usr/bin/python
#_*_coding:utf-8_*_
import functools
import re 
def cmp(str1,str2):
    day1 = (re.search(r'\d{4}_\d{2}_\d{2}', str1)).group()
    day2 = (re.search(r'\d{4}_\d{2}_\d{2}', str2)).group()
    start1 = (re.search(r'Start\d', str1)).group()
    start2 = (re.search(r'Start\d', str2)).group()
 
    if day1 > day2:
        return 1
    elif day1 < day2:
        return -1
    elif start1 > start2:
        return 1
    elif start1 < start2:
        return -1
    else:
        return 0
if __name__ == '__main__':
    strList = [r"STRLIST2018_07_30\Start0",
               r"STRLIST2018_05_01\Start0",
               r"STRLIST2018_06_30\Start1",
               r"STRLIST2018_05_01\Start1",
               r"STRLIST2018_05_30\Start0",
               r"STRLIST2018_06_01\Start0",
               r"STRLIST2018_06_30\Start0",
               r"STRLIST2018_05_30\Start1",
               r"STRLIST2018_07_30\Start1",
               r"STRLIST2018_06_01\Start1"
               ]
    print("Is not sorted--------------")
    for i in strList:
        print(i)
    strList = sorted(strList,key = functools.cmp_to_key(cmp))
    print("Has sorted-----------------")
    for i in strList:
        print(i)

以上為自定義排序的一個小小實現(xiàn),對于自定義排序,本小白主要用于對自定義結(jié)構(gòu)體的數(shù)組,字典等的排序,以后會用于更多地方。

字符串比較 cmp op.eq

python3 不再使用cmp(str1,str2)來比較字符串

被operator模塊代替,需要導(dǎo)入模塊。

直接使用cmp,會出現(xiàn)錯誤

如何查看自己的python版本,我的是windows

命令:(注意V一定要大寫)

python -V

python3 比較字符串如下

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python?math模塊使用方法介紹

    python?math模塊使用方法介紹

    math庫是python的內(nèi)置數(shù)學(xué)類函數(shù)庫,支持整數(shù)和浮點數(shù)運算,math模塊下的函數(shù),返回值均為浮點數(shù),除非有說明,math模塊提供類似C語言標(biāo)準(zhǔn)定義的數(shù)學(xué)函數(shù)
    2022-08-08
  • 如何用Python實現(xiàn)RSA加密算法

    如何用Python實現(xiàn)RSA加密算法

    RSA加密算法是一種非對稱加密算法,即使用不同的密鑰進行加密和解密,下面這篇文章主要給大家介紹了關(guān)于如何用Python實現(xiàn)RSA加密算法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 教你怎么用Python生成九宮格照片

    教你怎么用Python生成九宮格照片

    過年過節(jié)大家的朋友圈是不是特別熱鬧,每當(dāng)小編看見朋友圈有這種九宮格的照片就覺得特別秀,一直想自己什么時候也能來秀一個,所以直接拿這個練練手,酷炸朋友圈一波,直接進入主題,需要的朋友可以參考下
    2021-05-05
  • python中的內(nèi)置函數(shù)getattr()介紹及示例

    python中的內(nèi)置函數(shù)getattr()介紹及示例

    其實getattr()這個方法最主要的作用是實現(xiàn)反射機制。也就是說可以通過字符串獲取方法實例。這樣,你就可以把一個類可能要調(diào)用的方法放在配置文件里,在需要的時候動態(tài)加載。
    2014-07-07
  • python3中編碼獲取網(wǎng)頁的實例方法

    python3中編碼獲取網(wǎng)頁的實例方法

    在本篇文章里小編給大家整理了一篇關(guān)于python3中編碼獲取網(wǎng)頁的實例方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • Python Playwright安裝和基本使用問題記錄

    Python Playwright安裝和基本使用問題記錄

    這篇文章主要介紹了Playwright安裝和基本使用問題記錄,playwright是一款新型的自動化測試工具,功能非常強大,有很多優(yōu)點,缺點就是使用的人比較少,本文通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Django Admin 上傳文件到七牛云的示例代碼

    Django Admin 上傳文件到七牛云的示例代碼

    這篇文章主要介紹了Django Admin 上傳文件到七牛云的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Python自動登錄QQ的實現(xiàn)示例

    Python自動登錄QQ的實現(xiàn)示例

    這篇文章主要介紹了Python自動登錄QQ的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 使用Python如何將視頻按照一定時間切割(比如:每10s進行裁切)

    使用Python如何將視頻按照一定時間切割(比如:每10s進行裁切)

    這篇文章主要介紹了使用Python將視頻按照一定時間切割(比如:每10s進行裁切),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • python進度條tqdm使用方式

    python進度條tqdm使用方式

    這篇文章主要介紹了python進度條tqdm使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論