一篇文章搞懂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用于url解码和中文解析的小脚本(python url decoder)
Aug 11 Python
python实现简单温度转换的方法
Mar 13 Python
学习python 之编写简单乘法运算题
Feb 27 Python
Python爬取网页中的图片(搜狗图片)详解
Mar 23 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
Python3 实现串口两进程同时读写
Jun 12 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
如何实现一个python函数装饰器(Decorator)
Oct 12 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 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多态代码实例
2015/06/26 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
Javascript----文件操作
2007/01/18 Javascript
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
jQuery创建插件的代码分析
2011/04/14 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
Python深入学习之对象的属性
2014/08/31 Python
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Python删除空文件和空文件夹的方法
2015/07/14 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
python 日期排序的实例代码
2019/07/11 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
Python2与Python3的区别点整理
2019/12/12 Python
python实现人脸签到系统
2020/04/13 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
省级四好少年事迹材料
2014/01/25 职场文书
小学教师师德反思
2014/02/03 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
欢迎词范文
2015/01/27 职场文书
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS
mysql自增长id用完了该怎么办
2022/02/12 MySQL