python3 生成器笔记

#生成器
def MyDemo(M):
for i in range(M):
yield i**2
for item in MyDemo(9):
print(item)

# #生成器
import sys
a=(i**2 for i in range(5))
while True:
try:
print(next(a))
except Exception:


#现在有一个需求,求一段文字中,每个单词出现的位置。

def index_words(text):
#如果字段是空,那就返回0
if text=="":
yield 0

#enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
    for index, letter in enumerate(text, 1):
#字段包含2的位置
if letter == '2':
#返回下标
yield index

for it in index_words("11111112111112111111112"):
print(it)
sys.exit()
posted @ 2017-08-03 21:26  糖宝虫  阅读(112)  评论(0编辑  收藏  举报