一篇文章搞懂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使用htmllib分析网页内容的方法
May 08 Python
python 全文检索引擎详解
Apr 25 Python
PyQt5每天必学之布局管理
Apr 19 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
python3获取url文件大小示例代码
Sep 18 Python
python 生成器和迭代器的原理解析
Oct 12 Python
Python创建数字列表的示例
Nov 28 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
python线程里哪种模块比较适合
Aug 02 Python
python实现图片九宫格分割的示例
Apr 25 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 Python
python随机打印成绩排名表
Jun 23 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 星际争霸
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
pandas对指定列进行填充的方法
2018/04/11 Python
在Python中定义一个常量的方法
2018/11/10 Python
python批量创建指定名称的文件夹
2019/03/21 Python
Python2与Python3的区别实例总结
2019/04/17 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
python selenium 获取接口数据的实现
2020/12/07 Python
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
《绿色蝈蝈》教学反思
2014/03/02 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
人事专员岗位职责
2015/02/03 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
Windows 11上手初体验:任务栏和开始菜单等迎来大改
2021/11/21 数码科技