一篇文章搞懂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 开发Activex组件方法
Nov 08 Python
零基础写python爬虫之使用Scrapy框架编写爬虫
Nov 07 Python
python监控文件或目录变化
Jun 07 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
解决python线程卡死的问题
Feb 18 Python
如何通过python画loss曲线的方法
Jun 26 Python
Flask框架学习笔记之模板操作实例详解
Aug 15 Python
Pytorch训练过程出现nan的解决方式
Jan 02 Python
使用python自动追踪你的快递(物流推送邮箱)
Mar 17 Python
Python中格式化字符串的四种实现
May 26 Python
Python词云的正确实现方法实例
May 08 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
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
JQuery浮动DIV提示信息并自动隐藏的代码
2010/08/29 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
Django中URLconf和include()的协同工作方法
2015/07/20 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
Pytorch中.new()的作用详解
2020/02/18 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
优秀研究生自我鉴定
2013/12/04 职场文书
十岁生日同学答谢词
2014/01/19 职场文书
高中自我评价范文
2014/01/27 职场文书
装饰活动策划方案
2014/02/11 职场文书
乒乓球比赛通知
2015/04/27 职场文书
经销商会议开幕词
2016/03/04 职场文书