網站首頁 編程語言 正文
Python3字符串比較_重寫cmp函數
由于在C ++中習慣了使用CMP函數,所以在遇到字符串排序時,想當然的去使用sort(開始,結束,CMP)去對列表進行排序,但結果好像不行。
后來查閱網上資料,好像在python3中CMP函數已經被取代了。
故而只能另求他法了。下面是很簡單的一個字符串日期提取及根據日期排序。
需求是這樣的,由于從文本中讀入的字符串是無序的,但在輸出時需要按時間前后輸出。
不多說,直接上代碼
#!/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)
以上為自定義排序的一個小小實現,對于自定義排序,本小白主要用于對自定義結構體的數組,字典等的排序,以后會用于更多地方。
字符串比較 cmp op.eq
python3 不再使用cmp(str1,str2)來比較字符串
被operator模塊代替,需要導入模塊。
直接使用cmp,會出現錯誤
如何查看自己的python版本,我的是windows
命令:(注意V一定要大寫)
python -V
python3 比較字符串如下
原文鏈接:https://blog.csdn.net/qq_38328875/article/details/83149341
相關推薦
- 2023-01-05 C++?Boost?Utility超詳細講解_C 語言
- 2024-01-05 IDEA創建導入Maven工程時出錯Connection refused to host
- 2022-06-16 docker?maven?plugin快速部署微服務的詳細流程_docker
- 2022-04-24 C語言字符函數中的isalnum()和iscntrl()你都知道嗎_C 語言
- 2022-10-08 詳解pytest分布式執行插件?pytest-xdist?的高級用法_python
- 2022-12-06 Docker基礎和常用命令詳解_docker
- 2022-03-31 C語言類的基本語法詳解_C 語言
- 2022-10-20 Android開發App啟動流程與消息機制詳解_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支