一篇文章搞懂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写的PHPMyAdmin暴力破解工具代码
Aug 06 Python
Python爬取Coursera课程资源的详细过程
Nov 04 Python
使用70行Python代码实现一个递归下降解析器的教程
Apr 17 Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
python 判断三个数字中的最大值实例代码
Jul 24 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
Jan 14 Python
python 实现多维数组(array)排序
Feb 28 Python
Python如何生成xml文件
Jun 04 Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 Python
浅谈anaconda python 版本对应关系
Oct 07 Python
Pytest allure 命令行参数的使用
Apr 18 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
神族 PROTOSS 概述
2020/03/14 星际争霸
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
php通过COM类调用组件的实现代码
2012/01/11 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
2018/08/08 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
Python self用法详解
2020/11/28 Python
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
网页设计个人找工作求职信
2013/11/28 职场文书
本科应届生自荐信
2014/06/29 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
户籍证明模板
2014/09/28 职场文书
健康状况证明模板
2014/10/23 职场文书
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技