码迷,mamicode.com
首页 > 其他好文 > 详细

迭代器生成器

时间:2017-08-25 18:53:08      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:else   迭代器   for   turn   error:   app   world   pytho   ror   

#!/usr/bin/python

#coding:utf-8

 

#print ‘Hello world‘

 

__metaclass__ = type

 

#class Fids:

#    def __init__(self):

#        self.a = 0

#        self.b = 1

#

#    def next(self):

#        self.a, self.b = self.b, self.a + self.b

#        return self.a

#

#    def __iter__(self):

#        return self

#

#fibs = Fids()

#for f in fibs:

#    print f

#    if f > 10:

#        break

#print fibs.next()

 

def flatten(nested):

    try:

        try: nested + ‘‘

        except TypeError:

            print ‘except ‘

            pass

        else:

            print ‘else ‘

            raise TypeError

        for sublist in nested:

            for element in flatten(sublist):

                yield(element)

    except TypeError:

        yield nested

 

print list(flatten([[[1], 2], ‘376‘, 4, [5, [6, 7]], 8]))

 

def yield_test(n):

    for i in range(n):

        yield call(i)

        print ‘i=‘, i

    print(‘do something.‘)

    print(‘end.‘)

 

def call(i):

    return i*2

 

for i in yield_test(5):

    print i, ‘,‘

 

迭代器生成器

标签:else   迭代器   for   turn   error:   app   world   pytho   ror   

原文地址:http://www.cnblogs.com/wskgjmhh/p/7429236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!