一篇文章搞懂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里大整数相乘相关技巧指南
Sep 12 Python
在Python的Django框架中用流响应生成CSV文件的教程
May 02 Python
Python中使用strip()方法删除字符串中空格的教程
May 20 Python
python创建进程fork用法
Jun 04 Python
python实现中文分词FMM算法实例
Jul 10 Python
Unicode和Python的中文处理
Mar 19 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
django 消息框架 message使用详解
Jul 22 Python
Python性能分析工具Profile使用实例
Nov 19 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
基于Python绘制美观动态圆环图、饼图
Jun 03 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
mysql 字段类型说明
2007/04/27 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
php7下的filesize函数
2019/09/30 PHP
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
python中redis的安装和使用
2016/12/04 Python
python学生管理系统代码实现
2020/04/05 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
Pyqt5自适应布局实例
2019/12/13 Python
python的Jenkins接口调用方式
2020/05/12 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
简单说下OSPF的操作过程
2014/08/13 面试题
党员干部廉洁承诺书
2014/05/28 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
运动会表扬稿范文
2015/05/05 职场文书
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
Golang并发工具Singleflight
2022/05/06 Golang