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循环中同时迭代索引和元素本身:
实例:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解Python3中的迭代器和生成器及其区别
介绍 本篇将介绍Python3中的迭代器与生成器,描述可迭代与迭代器关系,并实现自定义类的迭代器模式. 迭代的概念 上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭代,并且每次迭代的结果是下一次迭代的初始值 注:循环不是迭代 while True: #只满足重复,因而不是迭代 print('====>') 迭代器 1.为什么要有迭代器? 对于没有索引的数据类型,必须提供一种不依赖索引的迭代方式. 2.迭代器定义: 迭代器:可迭代对象执行__iter__方法,得到的结果
-
Python中的字符串切片(截取字符串)的详解
字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引-1内的字符串 步长不指定时步长为1 字符串[开始索引:结束索引] 练习样例 # 1.截取2 - 5位置的字符 num_str_1 = num_str[2:6] print(num_str_1) # 2.截取2 - 末尾的字符 # 当开始索引和结束索引为开始和结束时可以省略不写 num_str_1 = num_str[2:] print(num_s
-
python迭代dict的key和value的方法
迭代dict的key和value 我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value?答案是肯定的. 首先,我们看看 dict 对象的 items() 方法返回的值: >>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } >>> print d.items() [('Lisa', 85), ('Adam', 95), ('Bart', 59)] 可以看到,items(
-
详解Python字符串切片
在python中,我们定义好一个字符串,如下所示. 在python中定义个字符串然后把它赋值给一个变量. 我们可以通过下标访问单个的字符,跟所有的语言一样,下标从0开始(==,我自己都觉得写的好脑残了) 这个时候呢,我们可以通过切片的方式来截取出我们定义的字符串的一部分. 使用切片的时候我们有两种方式: 1.没有步长的简单切片 语法格式是这样的: 1.首先定义一格字符串,比如叫 Hebe,然后给它赋值 2. 截取字符串中的一部分,我们用的语法是 Hebe [ start : stop ] 注意一
-
Python 利用切片从列表中取出一部分使用的方法
我想从列表中取出一部分拿来使用,可以创建切片,指定需要使用的第一个元素和最后一个元素的索引 使用例子,说明切片的使用 #创建一个数字列表,代表我有100页文章,然后进行分页显示 mage=list(range(1,101)) max_count=len(mage) #使用len()获取列表的长度,上节学的 n=0 while n<max_count: #这里用到了一个while循环,穿越过来的 print(mage[n:n+10]) #这里就用到了切片,这一节的重点 n=n+10 输出: [1,
-
深入解析Python中的list列表及其切片和迭代操作
有序列表list >>> listTest = ['ha','test','yes'] >>> listTest ['ha', 'test', 'yes'] len()获取list元素个数. >>> len(listTest) 3 可以用索引来访问每一个元素,0表示第一个,-1还可以表示最后一个,即倒数第一个,依此类推-2表示倒数第二个,超过了也会报越界错误. >>> listTest[0] 'ha' >>> lis
-
python numpy数组的索引和切片的操作方法
NumPy - 简介 NumPy 是一个 Python 包. 它代表 "Numeric Python". 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的. 也开发了另一个包 Numarray ,它拥有一些额外的功能. 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包. 这个开源项目有很多贡献者. NumPy 操作 使用Nu
-
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) 运行结果: 倒序切片
-
Python高级特性切片(Slice)操作详解
切片操作首先支持下标索引,通过[ N:M :P ]操作 索引正向从0开始,逆向从-1开始 N:切片开始位置 M:切片结束位置(不包含) P:指定切片步长,为正数表示按照指定步长正向切片,为负数反之 一.列表的切片操作 列表切片后还是列表 通过列表生成器定义一个列表: In [2]: a = [n for n in range(10)] In [3]: a Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 通过切片浅拷贝对象: In [4]: a[:] Out[4]:
-
Python高级特性之切片迭代列表生成式及生成器详解
目录 切片 迭代 列表生成式 生成器 迭代器 在Python中,代码越少越好.越简单越好.基于这一思想,需要掌握Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码.代码越少,开发效率越高. 切片 tuple,list,字符串都可以进行切片操作 L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] L[0:3] # ['Michael', 'Sarah', 'Tracy'] L[:3] # ['Michael', 'Sarah', '
-
Python全面解读高级特性切片
目录 1.切片的基础用法 2.切片的高级用法 3.自定义对象实现切片功能 3.1.魔术方法:`getitem()` 3.2.自定义序列实现切片功能 3.3.自定义字典实现切片功能 4.迭代器实现切片功能 4.1.迭代与迭代器 4.2.迭代器切片 5.小结 前言: 众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串.列表.元组-)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slice)就是一种截取索引片段的技术,借助切片技术,我们可以十分灵活地处理序列类型的对
-
Python高级特性——详解多维数组切片(Slice)
(1) 我们先用arange函数创建一个数组并改变其维度,使之变成一个三维数组: >>> a = np.arange(24).reshape(2,3,4) >>> a array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]]) 多维数组a中有0~23的整数,共24个元素,是一个2×3×4的三维数组.我们可以
-
python高级特性简介
Python中的五种特性:切片,迭代,列表生成式,生成器,迭代器. 切片 切片就相当于其他语言中的截断函数,取部分指定元素用的. L = list(range(100)) #利用切片取部分元素 print(L[0:10]) #取从索引从0到9的前10个元素 print(L[-10:]) #取最后10个元素 print(L[10:20])#取从索引10到19的10个元素 print(L[:10:2])#从前10个元素中每两个取一个元素 print(L[::10]) #所有元素中每10个取一个元素
-
python高级特性和高阶函数及使用详解
python高级特性 1.集合的推导式 •列表推导式,使用一句表达式构造一个新列表,可包含过滤.转换等操作. 语法:[exp for item in collection if codition] if codition - 可选 •字典推导式,使用一句表达式构造一个新列表,可包含过滤.转换等操作. 语法:{key_exp:value_exp for item in collection if codition} •集合推导式 语法:{exp for item in collection if
-
Python高级特性之闭包与装饰器实例详解
本文实例讲述了Python高级特性之闭包与装饰器.分享给大家供大家参考,具体如下: 闭包 1.函数参数: (1)函数名存放的是函数的地址 (2)函数名()存放的是函数内的代码 (3)函数名只是函数代码空间的引用,当函数名赋值给一个对象的时候,就是引用传递 def func01(): print("func01 is show") test = func01 print(func01) print(test) test() 结果: 2.闭包: (1)内层函数可以访问外层函数变量 (2)闭
-
Python高级特性与几种函数的讲解
切片 从list或tuple中取部分元素. list = [1, 2, 3, 4] list[0 : 3] # [1, 2, 3] list[-2 : -1] # -1表示最后一个,[3, 4] list[1 :: 2] # index = 1开始,每两个取一个[2, 4] list[:] # 复制list,[1, 2, 3, 4] # 针对tuple,切片同样适用 iterable.iterator 可迭代,迭代器,集合类型数据可迭代但不是迭代器,可通过iter()转变为迭代器. 可迭代对象可
-
对Python 数组的切片操作详解
高级特性 切片操作:对list,tuple元素进行截取操作,非常简便. L[0:3],L[:3] 截取前3个元素. L[1:3] 从1开始截取2个元素出来. L[-1] 取倒数第一个元素出来. L[-10] 取后10个数 L[10:20] 取前11-20个数 L[:10:2] 取前10个数,每两个取一个 L[::5] 所有数,每5个取一个 L[:] 原样复制一个list tuple,字符串也可以进行切片操作 以上这篇对Python 数组的切片操作详解就是小编分享给大家的全部内容了,希望能给大家一
随机推荐
- VBS教程:VBscript语句-Option Explicit 语句
- for 提取文本整行内容的方法
- JavaScript实现多维数组的方法
- 提高你工作效率的shell命令总结大全
- python的即时标记项目练习笔记
- JSP显示中文问题的解决方案
- Android异步加载数据和图片的保存思路详解
- 关于编写性能高效的javascript事件的技术
- python服务器端收发请求的实现代码
- JavaScript中的Array 对象(数组对象)
- Javascript函数式编程语言
- 使用微信小程序开发前端【快速入门】
- 一个简单的linux命令 cat
- React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
- javascript 动态创建 Option选项
- Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)
- 如何知道自动任务模块是否运行?
- MyBatis实现Mysql数据库分库分表操作和总结(推荐)
- javascript 避免闭包引发的问题
- 关于Android实现简单的微信朋友圈分享功能