美文网首页
考虑用生成器来改写直接返回列表的函数

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

作者: 啦啦啦老王 | 来源:发表于2019-04-26 14:18 被阅读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.一次放入所有结果,可能会使用过多内存导致奔溃

    相关文章

      网友评论

          本文标题:考虑用生成器来改写直接返回列表的函数

          本文链接:https://www.haomeiwen.com/subject/bgefnqtx.html