iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python3中list.sort弃用c
  • 788
分享到

python3中list.sort弃用c

listsort 2023-01-31 02:01:32 788人浏览 八月长安

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

摘要

转自https://www.cnblogs.com/znyyy/p/7716077.html 废话不多说,直接上题,我们来看下解题的思路与优化过程。   题目:给定一个字符串,找出包含数字和字母的最长字段,并输出该字段及其长度,如:

转自https://www.cnblogs.com/znyyy/p/7716077.html

废话不多说,直接上题,我们来看下解题的思路与优化过程。

  题目:给定一个字符串,找出包含数字和字母的最长字段,并输出该字段及其长度,如:abc123!#abc*^123%$xyz789!~12as@!~1a,那么最长的字段就是:abc123和xyz789,长度为6。

  解题思路:

  1.找出文件中的特殊字符  ->  2.将特殊文字都替换成同一个字符,比如','  ->  3.将字符串按该文字分割成一个数组  ->  4.找出列表中既包含数字又包含字母最长的字符  ->  5.输出打印

  分割字符串有两种方式,我们先按刚才的解题思路来做一下,找最长字符串方法为设计两个list,一个存字符串,一个存其长度,求出最长长度,循环打印字符,条件为字符长度等于最长长度,代码如下:

复制代码
import string
str='#g5$@sdfg45$%dgf&sdfg46&hs[][,.564~kj!k23h~jk!nj1'
t=string.punctuation
for i in t:
    str=str.replace(i,',')
lis=str.split(',')
new_lis=[]
lens=[]
for i in lis:
    if not i.isdigit() and not i.isalpha() and len(i)!=0:
        new_lis.append(i)
        lens.append(len(i))
for i in new_lis:
    lens.sort()
    if len(i)==lens[-1]:
        print('符合题意的字段有:%s,长度为:%s'%(i,len(i)))
复制代码

  下面对其进行优化两点:1.字符串切割用正则 2.找最长字符的方式

  这里需要介绍下sort、sorted函数:

  python3 sorted取消了对cmp的支持,格式:sorted(iterable,key=None,reverse=False),key接受一个函数,这个函数只接受一个元素,默认为None;reverse是一个布尔值。如果设置为True,列表元素将被倒序排列,默认为False。

  key的作用原理:key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None ,下面看几个例题:

复制代码
#1.按照年龄来排序
students = [('牛牛', 'A', 15), ('道长', 'B', 12), ('大师兄','B', 10)]
students=sorted(students,key=lambda s:s[2])
print(students)
#结果:[('大师兄', 'B', 10), ('道长', 'B', 12), ('牛牛', 'A', 15)]

#2.一个字符串排序,排序规则:小写<大写<奇数<偶数,
# 原理:先比较元组的第一个值,FALSE<TRUE,如果相等就比较元组的下一个值,以此类推。
# 先看一下Boolean value 的排序:
# print(sorted([True,Flase]))===>结果[False,True]
# Boolean 的排序会将 False 排在前,True排在后 . 

s='9a13C85c7B24A6b' #正确的顺序应该为:abcABC135792468
lis=sorted(s,key=lambda x:(x.isdigit(),x.isdigit() and int(x)%2==0,x.isalpha() and x.isupper(),x.isalpha() and x.lower()))
print(''.join(lis))

# 1.x.isdigit()的作用是把数字放在前边,字母放在后边.
# 2.x.isdigit() and int(x) % 2 == 0的作用是保证奇数在前,偶数在后。
# 3.x.isupper()的作用是在前面基础上,保证字母小写在前大写在后.
# 4.最后的x表示在前面基础上,对所有类别数字或字母排序。
复制代码

  根据上面的sort函数的排序原理,优化代码如下:

复制代码
import string,re
str='#sdfg45$@sdfg45$%dgf&sdfg46&hs[][,.564~kj!k122h~j`k!n1j'
lis=re.split(r'\W',str)
dic={}
for i in lis:
    if not i.isdigit() and not i.isalpha() and len(i) != 0:
        dic[i]=len(i)
new_lis=sorted(dic,key=lambda s:s[1],reverse=True)
print(new_lis)
for i in new_lis:
    if len(i)==len(new_lis[0]):
        print('最长的字符串有:%s'%i)
复制代码

--结束END--

本文标题: python3中list.sort弃用c

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

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

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

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

下载Word文档
猜你喜欢
  • python3中list.sort弃用c
    转自https://www.cnblogs.com/znyyy/p/7716077.html 废话不多说,直接上题,我们来看下解题的思路与优化过程。   题目:给定一个字符串,找出包含数字和字母的最长字段,并输出该字段及其长度,如:...
    99+
    2023-01-31
    list sort
  • python中list.sort() 的用法
    sort的基本用法 sort() 是 Python 列表对象的一个方法,它可以按升序(默认)或降序对列表中的元素进行排序。 以下是 sort() 方法的使用方法: # 创建一个列表my_list= [3, 1, 4, 1, 5, 9,...
    99+
    2023-10-24
    python Powered by 金山文档
  • 如何使用C#中的List.Sort函数对列表进行排序
    如何使用C#中的List.Sort函数对列表进行排序在C#编程语言中,我们经常需要对列表进行排序操作。而List类的Sort函数正是为此设计的一个强大工具。本文将介绍如何使用C#中的List.Sort函数对列表进行排序,并提供具体的代码示例...
    99+
    2023-11-17
    C# list sort
  • MySQL 8.0 中弃用了哪些功能?
    一些已弃用的功能可能会在即将推出的 MySQL 版本中删除。如果应用程序使用了该特定版本中已弃用的功能,则应修改该功能并尽可能使用替代方案。让我们简要了解一下 MySQL 8.0 中已弃用的功能: “utf8mb3”字符集已弃用,请改用“u...
    99+
    2023-10-22
  • python3更新pip提示DEPRECATION(使用 distutils 配置文件配置安装方案已弃用)
    一般在使用pip install xxx之后会有黄色的提示信息,提示当前pip版本过低,请升级到最近版本,并给出了升级命令; You are using pip version 19.0.3, how...
    99+
    2023-09-07
    pip python macos
  • 为什么放弃用Spring Boot中的RestTemplate
    这篇文章主要讲解了“为什么放弃用Spring Boot中的RestTemplate”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“为什么放弃用Spring Boot中的RestTemplate...
    99+
    2023-06-16
  • Flutter 中 FlatButton 已弃用的替代方案
    目录 TextButtonElevatedButton总结 Flutter 中的 FlatButton 已经被标记为过时,推荐使用 TextButton 或 ElevatedButton 来替代。 这里仅做基础使用示例,更多的使...
    99+
    2023-08-25
    flutter android 按钮
  • 被弃用的Python2中的方法和Pyth
    1、cmp(x,y)方法,python2中用于比较x与y的值。 python3中用operator中的 lt,le,eq,ne,ge,gt 进行比较,如下: lt(a, b) 相当于 a < b le(a,b) 相当于a<=b...
    99+
    2023-01-31
    方法 被弃用 Pyth
  • 为什么放弃使用Kotlin中的协程
    这篇文章主要讲解了“为什么放弃使用Kotlin中的协程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“为什么放弃使用Kotlin中的协程”吧!调试请看下面一段...
    99+
    2024-04-02
  • C++之智能指针初步及弃用auto_ptr的原因分析
    目录RAIIRAII的四个步骤裸指针存在的问题智能指针智能指针的引入四种智能指针总结RAII 使用局部对象来管理资源的技术 RAII的原理 RAII的四个步骤 裸指针存在的问题...
    99+
    2023-03-23
    C++智能指针 C++ auto_ptr 智能指针
  • 在Python3中使用ssh
      在python3中使用密钥文件方式的ssh。#encoding: utf-8 #author: walker #date: 2017-03-29 #summary: 在python代码中使用ssh #Python sys.version...
    99+
    2023-01-31
    ssh
  • Windows中python3.x用pi
    1、Windows中python3.x,pip安装scrapy时,出错。错误代码关键词是:failed with error code 1 错误原因在,Twisted模块无法安装,需要C++14.0解决办法:在https://www.lfd...
    99+
    2023-01-31
    Windows pi
  • python3中requests 常用r
    import requests res = requests.get("http://127.0.0.1:9092") print(res.status_code) # 200 print(res.url) # http://...
    99+
    2023-01-31
    常用 requests
  • C++之智能指针初步及弃用auto_ptr的原因是什么
    本篇内容介绍了“C++之智能指针初步及弃用auto_ptr的原因是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!RAII使用局部对象来管...
    99+
    2023-07-05
  • 【Python3爬虫】用Python中的
    当你看着你的博客的阅读量慢慢增加的时候,内心不禁有了些小激动,但是不得不吐槽一下--博客园并不会显示你的博客的总阅读量是多少。而这一篇博客就将教你怎么利用队列这种结构来编写爬虫,最终获取你的博客的总阅读量。   队列是常用数据结构之一...
    99+
    2023-01-30
    爬虫 Python
  • Python3中列表的使用
    列表操作常用操作包含以下方法:1、list.append(obj):在列表末尾添加新的对象2、list.count(obj):统计某个元素在列表中出现的次数3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新...
    99+
    2023-01-31
    列表
  • Python3中的urldecode怎么使用
    在Python3中,可以使用urllib.parse.unquote函数进行URL解码(urldecode)。下面是一个简单的示例:```pythonfrom urllib.parse import unquoteurl = 'http...
    99+
    2023-08-09
    Python3 urldecode
  • 怎么使用Python3中的pathlib
    这篇文章主要讲解了“怎么使用Python3中的pathlib”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python3中的pathlib”吧!使用pathlib处理更好的路径pat...
    99+
    2023-06-02
  • Python3中urlopen()的用法解读
    目录一、简介二、函数参数介绍三、返回处理方法详解四、版本区别, 注意事项五、实例总结一、简介 urllib.request.urlopen()函数用于实现对目标url的访问。 函数原...
    99+
    2023-03-14
    Python3 urlopen() urlopen()的用法 Python3中urlopen用法
  • python3中的struct模块使用
    软硬件环境python3struct简介struct是python(包括版本2和3)中的内建模块,它用来在c语言中的结构体与python中的字符串之间进行转换,数据一般来自文件或者网络。常用方法struct模块中的函数函数returnex...
    99+
    2023-01-31
    模块 struct
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作