替换枚举以输出字符串



我编写了一段代码,用于读取包含多个段落的文本文件。我使用了enumerate,但想用一个简单的循环代替enumerate()

file=open("file1.txt","r")
text="target"
for i, line in enumerate(file, 1):
    if text in line:
        print (i, line)

不知道你为什么要这样做,但这是一个等价物:

file=open("file1.txt","r")
text="target"
count=0
for line in file:
    count += 1
    if text in line:
        print (count, line)

enumerate可以用一个简单的生成器函数轻松替换:

def enumerate(iterable, start=0):
    for item in iterable:
        yield start, item
        start += 1

最新更新