Python高级特性 切片 迭代解析

yipeiwu_com5年前Python基础

切片:方便截取list、tuple、字符串部分索引的内容

正序切片

语法:dlist = doList[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素

实例

dolist = [1,3,5,7,9,11] dlist = dolist[0:3] # 与range()函数一致含左不含右 nlist = dolist[:3] # 当开始值为0时,可以不写,效果与dlist一致 print(dlist) print(nlist)

运行结果:

倒序切片

语法:slist = dolist[-2:] 表示,从倒数第2个索引开始,取到索引为0为止,不包扩索引0

实例:

# 倒序切片 slist = dolist[-2:] rlist = dolist[-4:-2] print(slist) print(rlist)

运行结果:


间隔切片

语法:jlist = dolist[::2] # 每2个索引切片

实例:

迭代: 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。

判断一个对象是否能迭代:collections模块的Iterable类型

实例:

# 判断是否是迭代对象 from collections import iterable # 导包 print(isinstance("abc",(Iterable)))

运行结果:

Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:

实例:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对python numpy.array插入一行或一列的方法详解

如下所示: import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]]) b = np.array([[0,0,0]]) c...

布隆过滤器的概述及Python实现方法

布隆过滤器 布隆过滤器是一种概率空间高效的数据结构。它与hashmap非常相似,用于检索一个元素是否在一个集合中。它在检索元素是否存在时,能很好地取舍空间使用率与误报比例。正是由于这个特...

Python魔术方法详解

Python魔术方法详解

介绍 此教程为我的数篇文章中的一个重点。主题是魔术方法。 什么是魔术方法?他们是面向对象的Python的一切。他们是可以给你的类增加"magic"的特殊方法。他们总是被双下划线所...

python实现汉诺塔算法

题目: 汉诺塔给出最优解,如果对汉诺塔的定义有不了解,请翻看数据结构教材。 除了最基本的之外,还有一题,给定一个数组,arr=[2,3,1,2,3],其含义是这是一个有5个圆盘的汉诺塔...

Python 中list ,set,dict的大规模查找效率对比详解

很多时候我们可能要频繁的进行元素的find 或in操作,本人一直天真的以为python的list做了hash,通过红黑树来高效查找···直到今天我真正来测试它和set,dict的查找效率...