广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3之字符串比较_重写cmp函数方式
  • 951
分享到

Python3之字符串比较_重写cmp函数方式

2024-04-02 19:04:59 951人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录python3字符串比较_重写cmp函数不多说,直接上代码字符串比较 cmp op.eq直接使用cmp,会出现错误python3 比较字符串如下Python3字符串比较_重写cm

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 比较字符串如下

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Python3之字符串比较_重写cmp函数方式

本文链接: https://www.lsjlt.com/news/138575.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3之字符串比较_重写cmp函数方式
    目录Python3字符串比较_重写cmp函数不多说,直接上代码字符串比较 cmp op.eq直接使用cmp,会出现错误python3 比较字符串如下Python3字符串比较_重写cm...
    99+
    2022-11-13
  • Python3字符串比较和重写cmp函数的方法
    这篇文章主要介绍“Python3字符串比较和重写cmp函数的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python3字符串比较和重写cmp函数的方法”文章能帮助大家解决问题。Python3字...
    99+
    2023-06-29
  • 对字符串数组赋值方式的比较与分析
    标题:字符串数组赋值方式的比较与分析引言:在日常的编程中,我们经常会遇到字符串数组的赋值操作。然而,在不同的编程语言或者编程环境下,字符串数组的赋值方式可能存在差异,因此选择合适的赋值方式是很重要的。本文将比较和分析几种常见的字符串数组赋值...
    99+
    2023-12-26
    分析 比较 字符串数组 赋值方式
  • Java中数组转字符串的五种方式效率比较
    @Test public void listToString() { ArrayList longList = new ArrayList(); for (int i = 0; i < 10; i++)...
    99+
    2023-09-27
    java 数据结构
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作