一篇文章搞懂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中的代码编码格式转换问题
Jun 10 Python
python 写的一个爬虫程序源码
Feb 28 Python
深入理解Python3 内置函数大全
Nov 23 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
Oct 11 Python
详解Python用户登录接口的方法
Apr 17 Python
Python中常用的8种字符串操作方法
May 06 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
python 类之间的参数传递方式
Dec 20 Python
python add_argument()用法解析
Jan 29 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
python logging模块的使用
Sep 07 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小教程之实现链表
2014/06/09 PHP
php中socket通信机制实例详解
2015/01/03 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
Python实现从url中提取域名的几种方法
2014/09/26 Python
python生成excel的实例代码
2017/11/08 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
python使用多进程的实例详解
2018/09/19 Python
python for循环remove同一个list过程解析
2019/08/14 Python
Django REST framwork的权限验证实例
2020/04/02 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
数控个人求职信范文
2014/02/03 职场文书
企业内部培训方案
2014/02/04 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
2015年读书月活动总结
2015/03/26 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
信息简报范文
2015/07/21 职场文书
七年级上册生物的课件
2019/08/07 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript