考虑用生成器来改写直接返回列表的函数

2019-04-26  本文已影响0人  啦啦啦老王

def index_words(text):

        result = []

        if text:

               result.append(0)

        for index,letter in enumerate(text):

               if letter == ' ':

                    result.append(index+1) 

        return result

可以改写成

def index_words(text):

       if text:

            yield 0

        for index,letter in enumerate(text):

            if letter == ' ';

                yeild index+1

result = list(index_words(text))

用列表的问题:1.大量代码都在操作列表,与实际问题无关

                            2.一次放入所有结果,可能会使用过多内存导致奔溃

上一篇 下一篇

猜你喜欢

热点阅读