一篇文章搞懂python混乱的切换操作与优雅的推导式


Posted in Python onAugust 23, 2021

前言

因为工作中不怎么使用python,所以对python的了解不够,只是在使用的时候才去学,在之前的几个例子中几乎没使用什么python的特有语法,本着完成任务优先的原则也没有深入,但是在阅读别人的代码的时候发现有些特有语法不是很熟悉,搞不清代码的真正意思,今天就搞清楚切片和推导式的使用,OK。我们开始吧

一篇文章搞懂python混乱的切换操作与优雅的推导式

记忆点:正向的时候第一个是0,负向的时候第一个是-1,可以把列表当做一个换,正向的是1 ,负向的 是-1,0 是中间点

1、混乱的切片操作

一个完整的切片表达式包含两个“:”,用于分隔三个参数(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)

2、优雅的推导式

# 列表推导式的语法格式如下:
# [表达式 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)

3、总结

切片和推导式是python中常用的语法,如果能灵活运用可以用来装逼,也可以让代码简洁一些

到此这篇关于python混乱的切换操作与优雅的推导式的文章就介绍到这了,更多相关python切换操作与推导式内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python群发邮件实例代码
Jan 03 Python
Python getopt模块处理命令行选项实例
May 13 Python
仅用50行Python代码实现一个简单的代理服务器
Apr 08 Python
python使用PIL模块实现给图片打水印的方法
May 22 Python
浅析Python中的多条件排序实现
Jun 07 Python
Python异常对代码运行性能的影响实例解析
Feb 08 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
24式加速你的Python(小结)
Jun 13 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
Python学习开发之图形用户界面详解
Aug 23 #Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 #Python
教你使用一行Python代码玩遍童年的小游戏
一文搞懂Python Sklearn库使用
python库sklearn常用操作
Aug 23 #Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 23 #Python
Python 中的Sympy详细使用
Aug 07 #Python
You might like
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
详解在Python程序中自定义异常的方法
2015/10/16 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
python实现图像识别功能
2018/01/29 Python
python实现list由于numpy array的转换
2018/04/04 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
简单了解python的一些位运算技巧
2019/07/13 Python
django框架模板语言使用方法详解
2019/07/18 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
python操作cfg配置文件方式
2019/12/22 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
新文化运动的口号
2014/06/21 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
中学生检讨书1000字
2014/10/28 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
生活小常识广播稿
2015/08/19 职场文书
导游词之江西赣州
2019/10/15 职场文书
微信小程序调用python模型
2022/04/21 Python