说说Python中切片是什么?


公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。

废话不多说,开始今天的题目:

问:说说Python中切片是什么?

答:在Python中切片指的是截取指定范围的数据,对于字符串,元组,和列表都是可以进行切片。

切片操作基本表达式:object[start_index:end_index:step]

start_index:表示起始索引(包含该索引本身);从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。

end_index:表示终止索引(不包含该索引本身);该参数省略时,表示一直取到数据到结束,同样也由step参数的正负决定 。

step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。

注意点:以上三个参数都是可选参数。切片的范围是[start,stop) (左闭右开),step步长参数默认值是1。step不能为0,不然会报错ValueError。

下面用几个常见且易混淆的例子,给大家看一下切片怎么取值,其实看完下面的代码,大家只要记住切片的那3个参数,就万变不离其宗了,看明白了,挺简单的!

lis=[1,2,3,4,5,6,7,8,9]

print(lis[3:7]) # 结果元素里包含下标 3,不含下标 7

print(lis[1:]) # 从下标为1开始,取出 后面所有的元素(没有结束位)

print(lis[:-1]) # 从起始位置开始,取到 倒数第一个元素(不包括结束位本身)

print(lis[:5]) # 从起始位置开始,取到 下标为5的前一个元素(不包括结束位本身)

print(lis[-4:-1]) # 从倒数第4个元素开始,取到 倒数第1个元素(不包括结束位本身)

print(lis[4:-1]) # 从下标第4个元素开始,取到 倒数第1个元素(不包括结束位本身)

print(lis[1:5:2]) # 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)

print(lis[:]) # 取出所有元素(没有起始位和结束位之分),默认步长为1

print(lis[::-1]) # 反向取出所有元素(没有起始位和结束位之分),默认步长为1

输出结果:

[4, 5, 6, 7]
[2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 2, 3, 4, 5]
[6, 7, 8]
[5, 6, 7, 8]
[2, 4]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1]

文末推荐文章链接:

https://www.jianshu.com/p/15715d6f4dad

如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!

1-40、Python面试1-40题汇总

41、说说Python中的正则表达式?

42、Python如何实现斐波那契数列?

43、说说Python 中 is 和 == 的区别?

44、说说Python如何实现杨辉三角?

45、说说Python中变量的作用域?

46、Python打印九九乘法表有几种方式?

47、Python中列表常见的方法有哪些?

48、说说Python中yield的用法?

49、说说Python中元类是什么?

50、Python中几种常见的排序算法?

51、说说Python中闭包是什么?

52、read、readline和readlines的区别?

53、说说Python中with的用法?

54、Python中连接字符串用join还是+?

55、Python中search和match的区别?

56、说说Python中字符串大小写转换?

57、Python反转三位整数有几种方法?

58、说说Python中贪婪和非贪婪匹配?

59、说说Python中正负索引?

关注小猿公众号,每天学习一道题

发布了132 篇原创文章 · 获赞 45 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/liliangpin/article/details/103286299