这篇文章主要介绍了python切片和推导式怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
因为工作中不怎么使用python,所以对python的了解不够,只是在使用的时候才去学,在之前的几个例子中几乎没使用什么python的特有语法,本着完成任务优先的原则也没有深入,但是在阅读别人的代码的时候发现有些特有语法不是很熟悉,搞不清代码的真正意思,今天就搞清楚切片和推导式的使用,OK。我们开始吧
记忆点:正向的时候第一个是0,负向的时候第一个是-1,可以把列表当做一个换,正向的是1 ,负向的 是-1,0 是中间点
一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index、end_index、step),当只有一个“:”时,默认第三个参数step=1。
切片操作基本表达式:object[start_index : end_index : step]
step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当step省略时,默认为1,即从左往右以增量1取值。“切取方向非常重要!”“切取方向非常重要!”“切取方向非常重要!”,重要的事情说三遍!
start_index:表示起始索引(包含该索引本身);该参数省略时,表示从对象“端点”开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。
end_index:表示终止索引(不包含该索引本身);该参数省略时,表示一直取到数据”端点“,至于是到”起点“还是到”终点“,同样由step参数的正负决定,step为正时直到”终点“,为负时直到”起点“。
一句话,最后的step 决定了方向,从startIndex 到end_index 截取。
举个例子:
l = [1,2,3,4,5,6,7,8,9] # 1、单个索引 print(l[2]) # 2、两个索引,正向 l2 = l[1:3] print(l2) # 3、两个索引,反向 l3 = l[1:3:-1] print(l3) l4 = l[-1:-3:-1] print(l4)
# 列表推导式的语法格式如下: # [表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ] # ==> for 迭代变量 in 可迭代对象 # 表达式
一句话总结:结果是什么类型是外面的括号表示,后面的for之前的语句在遍历的时候运行
举个例子:
# 计算表达式得到的一系列值组成一个列表。 list = [i for i in range(10) if i > 3] print(list) dict_b = {key: key * key for key in range(6)} print(dict_b) set_a = {value for value in '有人云淡风轻,有人负重前行'} print(set_a)
感谢你能够认真阅读完这篇文章,希望小编分享的“python切片和推导式怎么用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。