一篇文章搞懂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 相关文章推荐
Pycharm学习教程(5) Python快捷键相关设置
May 03 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
python Spyder界面无法打开的解决方法
Apr 27 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
python中的句柄操作的方法示例
Jun 20 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
python实现飞行棋游戏
Feb 05 Python
Python实现快速大文件比较代码解析
Sep 04 Python
PyTorch预训练Bert模型的示例
Nov 17 Python
python状态机transitions库详解
Jun 02 Python
python实现局部图像放大
Nov 17 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 autoload机制的详解
2013/06/09 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
机器学习python实战之手写数字识别
2017/11/01 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
解决pip install psycopg2出错问题
2020/07/09 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
优秀女职工事迹材料
2014/02/06 职场文书
2014新年元旦活动策划方案
2014/02/18 职场文书
大学生评语大全
2014/04/18 职场文书
全运会口号
2014/06/20 职场文书
社区助残日活动总结
2014/08/29 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python