热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pythonreverse_Python实战训练(二)

最近写的文章会偏向于Python实战一些,大家不要看着刷题,心里就有抵触了,其实刷题一直是学习的一个必要途径。你想想高中时候,

最近写的文章会偏向于Python实战一些,大家不要看着刷题,心里就有抵触了,其实刷题一直是学习的一个必要途径。你想想高中时候,如果你光听听课,学学理论就行的话,那不是每个人都成状元啦。

我每天分享的Python题目,都是花时间从leetcode上找的,自己先做一遍,把思路理清了才敢分享出来,每道题都是掰开揉碎细讲的,不仅适合入门的同学,对于一些应聘找工作的小伙伴也有参考价值。

一起来看一下今天的题目吧!

给定一个字符串,寻找没有字符串重复的最长子字符串。

示例:

给定“abcabcbb”,没有重复字符的最长子串是“abc”,那么长度是3

给定“bbbbb”,最长的子串就是“b”,长度是1

给定“pwwkew”,最长子串是“wke”,长度是3。请注意答案必须是一个子串,“pwke”是子序列,而不是子串。

下面是我写的代码

#!/usr/bin/env python

每段代码我都有注释,帮助大家理解。下面主要是讲一下代码中涉及到的知识点。

代码解析:

(1)range函数,在Python3中返回的是一个可迭代对象,而不是列表类型,所以打印的时候不会打印列表。

函数语法:range(stop);range(start,stop[,step])。

参数说明:

Start:计数从start开始。默认是从0开始。例如

range(5)

range(5) #代表从0到5(不包含5)
[0, 1, 2, 3, 4]

stop:计数到stop结束,但不包括stop。例如

range(0,5)

range(0,5) #代表从0到5(不包含5)
[0,1, 2, 3, 4]

(2)append函数,用于在列表末尾添加新的对象

函数语法:list。append(obj),obj是添加到列表末尾的对象

需要注意的是,该方法无返回值,但是会修改原来的列表。

(3)python中的yield。我的理解是这样的,yield是一个类似return的关键字,迭代一次遇到yield时就返回yield后面(右边)的值,下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。

简要理解,yield就是return返回一个值,并且记住这个返回的位置,下一次迭代就从这个位置后(下一行)开始。

(4)sorted函数,对所有可迭代的对象进行排序操作。

函数语法:sorted(iterable,key=None,reverse=False)

参数说明:

iterable:可迭代对象

key:主要是用来进行比较的元素,只有一个元素,具体的函数参数就是取自于可迭代对象中,指定可迭代中的一个元素来进行排序

reverse:排序规则,reverse=True降序,reverse=False升序(默认)

example_list = [5, 0, 6, 1, 2, 7, 3, 4]
result_list = sorted(example_list, key=lambda x: x*-1)
print(result_list)[7, 6, 5, 4, 3, 2, 1, 0]

(5)join函数,用于将序列中的元素以指定的字符连接生成一个新的字符串

函数语法:str.join(sequence)

参数说明:sequence:要连接的元素序列。

该函数返回的是通过指定字符连接序列中元素后生成的新字符串。

s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))r-u-n-o-o-b
runoob

(6)len函数,返回对象(字符、列表、元组等)长度或项目个数

函数语法:len(s),s:对象。

str = "runoob"
print(len(str)) # 字符串长度l = [1,2,3,4,5]
print(len(l)) # 列表元素个数6
5

写到这里,我才算把题目中涉及的知识点说清楚了,所以,对于新手来说,不管是刷题还是看学习视频,切莫贪多,老老实实地把每道题弄懂才是最重要的。

很多学习Python的人都抱怨说Python虽然功能强大,但是内置函数太多,我记不住,但是,你要是像我这样每次写代码时,把用到的函数都总结一遍,时间久了,我相信肯定对大多数函数也会熟能生巧的。

6dfb590a52e4e6745a96bb39f58485f5.png



推荐阅读
  • 1关于字符串相邻的两个或多个字符串字面值(引号引起来的字符)将会自动连接到一起:str_catpython!str_cat输出:python!把很长 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 这篇文章主要介绍了Python拼接字符串的七种方式,包括使用%、format()、join()、f-string等方法。每种方法都有其特点和限制,通过本文的介绍可以帮助读者更好地理解和运用字符串拼接的技巧。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • Python教学练习二Python1-12练习二一、判断季节用户输入月份,判断这个月是哪个季节?3,4,5月----春 ... [详细]
  • 很多时候在注册一些比较重要的帐号,或者使用一些比较重要的接口的时候,需要使用到随机字符串,为了方便,我们设计这个脚本需要注意 ... [详细]
  • 本文介绍了使用Python根据字典中的值进行排序的方法,并给出了实验结果。通过将字典转化为记录项,可以按照字典中的值进行排序操作。实验结果显示,按照值进行排序后的记录项为[('b', 2), ('a', 3)]。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 这是一个愚蠢的问题,但我只是对此感到好奇.假设我在Pythonshell,我有一些我查询的数据库对象.我做:db.query(的queryString)该查询在0xffdf842c ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • Opencv提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型cv ... [详细]
  • 丛api的python的简单介绍
    本文目录一览:1、如何使用python利用api获取天气预报 ... [详细]
author-avatar
彩色蜗牛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有