如果我有以下文本文件:
Watermelon
Carrot
Spinach
Lettuce
Tomato
Lemon
如何将Carrot
到Tomato
(包含)的行追加到空列表中
mylist = ['Carrot','Spinach','Lettuce','Tomato']
我试过:
mylist = []
for aline in file:
aline = aline.rstrip('\n')
if aline.startswith('Carrot')
mylist.append(aline)
这显然只是在列表后面加上'Carrot'
,但是我怎么能让它一直加到停止点呢
来自
itertools
的takewhile
和dropwhlie
就是为了这个带文件的演示:
这种方法的优点是不会放弃已打开文件的迭代器属性,因此对于非常大的文件不会有记忆问题
你可以试试这个:
更通用的解决方案:
更一般地说,假设“Carrot”和“Tomato”的位置都不是固定的,但是“Carrot”总是在“Tomato”之前,您可以这样做:
如果您不知道哪个值是第一位的(西红柿还是胡萝卜),您可以让Python为您计算:
相关问题 更多 >
编程相关推荐