Python高级特性 切片 迭代解析

yipeiwu_com6年前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的Treq on Twisted来进行HTTP压力测试

从事API相关的工作很有挑战性,在高峰期保持系统的稳定及健壮性就是其中之一,这也是我们在Mailgun做很多压力测试的原因。 这么久以来,我们已经尝试了很多种方法,从简单的ApacheB...

Python面向对象程序设计之类的定义与继承简单示例

本文实例讲述了Python面向对象程序设计之类的定义与继承。分享给大家供大家参考,具体如下: 定义类: class A: def __init__(self, name):...

python中定义结构体的方法

Python中没有专门定义结构体的方法,但可以使用class标记定义类来代替结构体,其成员可以在构造函数__init__中定义,具体方法如下。 复制代码 代码如下:class item:...

python中时间、日期、时间戳的转换的实现方法

1.简介 在编写代码时,往往涉及时间、日期、时间戳的相互转换。 2.示例 # 引入模块 import time, datetime 2.1 str类型的日期转换为时间戳 # 字...

对Python中的@classmethod用法详解

在Python面向对象编程中的类构建中,有时候会遇到@classmethod的用法。 总感觉有这种特殊性说明的用法都是高级用法,在我这个层级的水平中一般是用不到的。 不过还是好奇去查了一...