一个网友写的栈,问为啥不能迭代。具有__iter__ 和next方法的对象叫迭代器-七七巴巴黄页网
一个网友写的栈,问为啥不能迭代。具有__iter__ 和next方法的对象叫迭代器-七七巴巴黄页网
一个网友写的栈,问为啥不能迭代。具有__iter__ 和next方法的对象叫迭代器
class stack(object):
def __init__(self):
self.stack = []def push(self,str1):
self.stack.append(str1)def pop(self):
return self.stack.pop()def length(self):
return len(self.stack)请问应该怎么遍历这个堆栈呢?
请看迪艾姆公司python远程视频培训班黄哥的回答
类只有实现了__iter__() 和next()方法(python3改为__next__()),生成的实例才能迭代
具有__iter__ 和next方法的对象叫迭代器
请看python2.7.5的代码
#coding:utf-8
"""
该代码由python远程培训班黄哥所写
python远程培训http://www.qy7788.com.cn/shiyongxinxi/shiyongxinxi193.html
qq:1465376564 tel:010-68165761
"""
class stack(object):
"""只有实现了__iter__和next方法的类生成的实例才可以迭代"""
def __init__(self):
self.stack = []def push(self,str1):
self.stack.append(str1)def pop(self):
return self.stack.pop()def length(self):
return len(self.stack)def __iter__(self):
return selfdef __next__(self):
try:
return self.stack.pop()
except IndexError:
raise StopIterations = stack()
s.push("python远程培训")
s.push("qq:1465376564 tel:010-68165761")
s.push("python编程思路")
for i in s:
print i请看python3.3.2的代码
#coding:utf-8
"""该代码由python远程培训班黄哥所写
python远程培训http://www.qy7788.com.cn/shiyongxinxi/shiyongxinxi193.html
qq:1465376564 tel:010-68165761 在python3.3.2环境下测试过 """
class stack(object):
"""只有实现了__iter__和next方法的类生成的实例才可以迭代"""
def __init__(self):
self.stack = []
def push(self,str1):
self.stack.append(str1)
def pop(self):
return self.stack.pop()
def length(self):
return len(self.stack)
def __iter__(self):
return self
def __next__(self):
try:
return self.stack.pop()
except IndexError:
raise StopIteration
s = stack()
s.push("python远程培训")
s.push("qq:1465376564 tel:010-68165761")
s.push("python编程思路")
for item in s:
print(item)
一个网友写的栈,问为啥不能迭代。具有__iter__ 和next方法的对象叫迭代器-七七巴巴黄页网的更多相关文章
- 从零开始写STL—栈和队列
从零开始写STL-栈和队列 适配器模式 意图:将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 主要解决:主要解决在软件系统中,常常要将 ...
- springmvc2 一个控制器写多个方法(非注解方式)
出处:http://blog.csdn.net/xuewenke/article/details/23895999 springmvc2 一个控制器写多个方法(非注解方式) 分类: spring 20 ...
- SpringMVC实现一个controller写多个方法
MultiActionController与ParameterMethodNameResolver在一个Controller类中定义多个方法,并根据使用者的请求来执行当中的某个方法,相当于Struts ...
- PHP的排列组合问题 分别从每一个集合中取出一个元素进行组合,问有多少种组合?
首先说明这是一个数学的排列组合问题C(m,n) = m!/(n!*(m-n)!) 比如:有集合('粉色','红色','蓝色','黑色'),('38码','39码','40码'),('大号','中号') ...
- 设单链表中存放n个字符,试设计一个算法,使用栈推断该字符串是否中心对称
转载请注明出处:http://blog.csdn.net/u012860063 问题:设单链表中存放n个字符.试设计一个算法,使用栈推断该字符串是否中心对称,如xyzzyx即为中心对称字符串. 代码例 ...
- 分享一个c#写的开源分布式消息队列equeue
分享一个c#写的开源分布式消息队列equeue 前言 equeue消息队列中的专业术语 Topic Queue Producer Consumer Consumer Group Broker 集群消费 ...
- 分享一个自己写的MVC+EF “增删改查” 无刷新分页程序
分享一个自己写的MVC+EF “增删改查” 无刷新分页程序 一.项目之前得添加几个组件artDialog.MVCPager.kindeditor-4.0.先上几个效果图. 1.首先建立一个数 ...
- EQueue - 一个C#写的开源分布式消息队列的总体介绍(转)
源: EQueue - 一个C#写的开源分布式消息队列的总体介绍 EQueue - 一个纯C#写的分布式消息队列介绍2 EQueue - 详细谈一下消息持久化以及消息堆积的设计
- vue element-ui怎样提炼一个自己写的js当作公共js
vue element-ui怎样提炼一个自己写的js当作公共js请教一下各位大神,我刚刚触摸vue element-ui几天,写的一个清晰检索的input框,现在需当作项目公共的部分,可遭需的html ...
随机推荐
- GExpert 1.38 实验版含经典代码格式工具 Berlin 编译版
安装方法:修改install.reg,然后导入.源代码地址:http://blog.dummzeuch.de/experimental-gexperts-version/ http://bbs.2cc ...
- Qt实现QQ好友下拉列表(用QListView实现,所以还得定义它的Model)
偶然发现Qt有个控件可以实现下拉列表,所以就试着实现一下类似QQ面板的下拉列表,这里主要实现几个功能: 1.可以删除列表中图标 2.可以像qq一样的,把某个分组下的图标转移到另外的分组 3.添加分组 ...
- codeforces 487E Tourists
如果不是uoj上有的话(听说这是China Round),我有可能就错过这道题目了(这是我有史以来为oi写的最长的代码,用了我一天TAT!). 题目 传送门. 一个连通无向图,点上有权,支持两种操作: ...
- Kivy: Crossplatform Framework for NUI
Kivy: Crossplatform Framework for NUI ivy - Open source Python library for rapid development of appl ...
- mysq Point类型 查询和插入操作:insert和select
首先,创建一个表名为geometry2的表,然后增加一个名为gemo的point类型的字段. insert方法有4中,例如以下所看到的://============================== ...
- 阿里云CentOS配置iptables防火墙[转]
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...
- wireshark删除filters记录
- DOM方法入门 - 第二课
1.console.log()是吧元素显示在控制台2.appendChild() 就是将元素追加到末尾3.innerHTML获取的是元素里面的所有内容包括里面的子元素4.innerText获取的是元素 ...
- Mina airQQ聊天 服务端篇(二)
Mina聊天服务端实现思路:在用户登录的时候.连接服务端而且验证登录用户,假设成功,则将IoSession保存到map<账号,IoSession>中,而且通知该用户的好友上线,然 后再请求 ...
- java设计模式之观察者模式(9)
Java观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象.这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者 ...