可迭代对象

>>> from collections import Iterable
>>> print(isinstance("ABC",Iterable))
True
>>> print(isinstance([],Iterable))
True
>>> print(isinstance((),Iterable))
True
>>> print(isinstance({},Iterable))
True
>>> print(isinstance(12345,Iterable))
False

  

可迭代对象:可作用于for循环的都是可迭代对象,包括字符串、列表、元组、字典等,数字不可以for循环即不是可迭代对象

from collections import Iterable

# 字符串

>>> print(isinstance("ABC",Iterable))
True

# 列表

>>> print(isinstance([],Iterable))
True

# 元组

>>> print(isinstance((),Iterable))
True

# 字典

>>> print(isinstance({},Iterable))
True

# 数字

>>> print(isinstance(12345,Iterable))
False

时间: 2024-10-27 11:21:43

可迭代对象的相关文章

第一章 1.2 解压可迭代对象赋值给多个变量

问题:如果一个可迭代对象的元素个数超过变量个数时,会抛出一个 ValueError . 那么怎样才 能从这个可迭代对象中解压出N个元素出来? 解决方案:Python的星号表达式可以用来解决这个问题.比如,你在学习一门课程,在学期末的时 候, 你想统计下家庭作业的平均成绩,但是排除掉第一个和后一个分数.如果只有四 个分数,你可能就直接去简单的手动赋值, 但如果有24个呢?这时候星号表达式就派上 用场了: def drop_first_last(grades): first, *middle, la

python_如何使用生成器实现可迭代对象?

案例分析: 实一个可迭代对象的类,它能迭代出给定范围内所有的素数: pn = Number(1, 30) for k in pn: print(k) 结果为:2,3,5,7,11,13,17,19,23,29 如何解决这个问题? 将该类的__iter__方法实现成生成器函数,每次yield返回一个素数 #!/usr/bin/python3 class Number(object): def __init__(self, start, end): self.start = start self.e

Python 迭代器协议以及可迭代对象、迭代器对象

一.迭代器协议定义: 迭代:是一个重复的过程,每一次重复,都是基于上一次的结果而来 while True: #单纯的重复 print('你瞅啥') l=['a','b','c','d'] count=0 while count < len(l): print(l[count]) count+=1 迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 二.可迭代对象定义: 实现了迭代器协议

Python 迭代对象、迭代器、生成器详解

在了解Python的数据结构时,容器(container).可迭代对象(iterable).迭代器(iterator).生成器(generator).列表/集合/字典推导式(list,set,dict comprehension)众多概念参杂在一起,难免让初学者一头雾水,本文将一一为大家进行介绍,希望对大家学习python有所帮助. 容器(container) 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用 in ,  not in 关键字判断元素是否包含在容器

Python中的可迭代对象与迭代器对象

刚刚学习Python,对“可迭代对象”和"迭代器对象"的个人理解,不知道对不对. 1.几个概念 1.迭代工具:包括for循环.列表解析.in成员关系测试.....等等在内的,用于依次访问可迭代对象(容器)内元素的操作(?). 2.迭代器对象:具有__next__()方法的对象.该方法能够自动返回下一个结果,当到达序列结尾时,引发StopIteration异常. 3.可迭代对象:具有__iter__()方法的对象.该方法可获取其迭代器对象. 2.迭代过程(以for循环为例) for循环开

迭代器 and 可迭代对象

可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的generator function. 这些可以直接作用于for循环的对象统称为可迭代对象:Iterable. 而生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出StopIteration错误表示无法继续返回下一个值了. 可以被next()函数调用并不断返回下一个值的对象称为迭代器

学习7: 列表生成式,生成器,迭代器,可迭代对象

1) 列表生成式,即创建列表的方式 列表生成式,这里是中括号[] >>> [x*x for x in range(0,10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] >>> [x * x for x in range(1, 11) if x % 2 == 0] [4, 16, 36, 64, 100] >>> [m + n for m in 'ABC' for n in 'XYZ'] ['AX', 'AY', 'AZ

python自定义迭代器对象以及可迭代对象

# coding=utf8 from collections import Iterator from collections import Iterable #迭代器对象 class OwnIteror( Iterator ): def __init__(self , arrs ): self.index = 0 self.arrs = arrs def next(self): if self.index > len( self.arrs ) - 1: raise StopIteration

python当中的 可迭代对象 迭代器

学习python有一段时间了,在学习过程中遇到很多难理解的东西,做一下总结,希望能对其他朋友有一些帮助. 完全是个人理解,难免有错,欢迎其他大神朋友们批评指正. 1 迭代 什么是迭代呢??我们可以这样理解,一个容器类型的数据,比如 列表[ ]  .元组 () 和 字典 { }, 我们可以把这样类型的数据放入for temp in [1,2,3] 当中,temp 被一次一次的赋值成为后面容器内数据,然后我们拿到temp进行一些想做的事情.那么for 循环中自动的帮我们把数据一次一次的取出来,可以理

完全理解Python迭代对象、迭代器、生成器

在了解Python的数据结构时,容器(container).可迭代对象(iterable).迭代器(iterator).生成器(generator).列表/集合/字典推导式(list,set,dict comprehension)众多概念参杂在一起,难免让初学者一头雾水,我将用一篇文章试图将这些概念以及它们之间的关系捋清楚. 容器(container) 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中.通常这类数据