Python[十七]:Iterator
2010-07-07 22:07
190 查看
#Python Iterator #iterator for element in[1,2,3]: print(element) for element in (1,2,3): print(element) for key in {'One':1,'Two':2}: print(key) for char in "123": print(char) #for line in open('class2.py'): # print(line) #show what happend for'next()' s='abc' it=iter(s) print(it) print(next(it)) print(next(it)) #print(next(it)) #print(next(it)) #create our own __iter__()and __next__() func class Reverse: """iterator for looping over a sequense backwards""" def __init__(self,data): self.data=data self.index=len(data) def __iter__(self): return self def __next__(self): if self.index==0: raise StopIteration self.index=self.index-1 return self.data[self.index] for char in Reverse('spam'): print(char,end=' ') print() #generators #Each time next() is called on it, the generator resumes where it left-off #(it remembers all the data values and which statement was last executed). def reverse(data): for index in range(len(data)-1,-1,-1): yield data[index] for char in reverse('golf'): print(char,end=' ') print() #Generator Expressions print(sum(i*i for i in range(10))) #sum of squares xvec=[10,20,30] yvec=[7,5,3] print(sum(x*y for x,y in zip(xvec,yvec))) ##dot product from math import pi,sin #sine table sine_table={x:sin(x*pi/180) for x in range(0,91)} print(sine_table,end=' ') print() #unipue words #------unique_words=set(word for line in page for word in line.split()) #------valedictorian=max((student.gpamstudent.name) for student in graduates) data='golf' print(list(data[i] for i in range(len(data)-1,-1,-1)))
相关文章推荐
- python语法31[iterator和generator+yield]
- Dave Python 练习十七 -- 正则表达式
- python,iterator,fp,itertools
- 【python数据挖掘课程】十七.社交网络Networkx库分析人物关系(初识篇)
- python语法31[iterator和generator+yield]
- 转载:Python高级特性 可迭代对象(Iterable) & 迭代器(Iterator)
- Python 中 Iterator(迭代器)和Iterable(可迭代)的区别:
- python中实现迭代器(iterator)的方法示例
- Python语言学习讲解十七:python之__gettattr__、__getattribute__和__setattr__详解
- TypeError: iter() returned non-iterator of type 'xx' 从Python3开始,要用__next__
- Design Patterns(十七):Iterator Pattern--VB代码
- Python中iterator的理解
- struts2系列十七之常用的struts标签set,property,iterator,include,if,error,判断奇偶
- Python doc v2.7.6 ------ 5.2.10.1. Generator-iterator methods
- Generator and Iterator in Python
- Python学习笔记:iterator和iterable
- Learning Python : 3. iterator 迭代器
- 十七、迭代器模式 Iterator
- python中的generator, iterator, iterabel
- python_fullstack基础(十七)-网络编程