热门标签 | 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



推荐阅读
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社区 版权所有