有人可以解释代码如何工作: 我不熟悉while循环
line = file.readline()
L1=[]
while line != '' and line != '\n':
line = line[:-1].split()
L1.append(line)
line = file.readline()
return L1
我可以用for循环吗? 是吗:
for line in file.readline():
if line !='' and line !='\n':
line = line[:-1].split()
L1.append(line)
return L1
答案 0 :(得分:4)
'\n'
,请停止。'\n'
,strip()
是更好的IMO),按空格分割,然后附加列表。您的for
循环问题在于它不会停在空或'\n'
答案 1 :(得分:1)
首先阅读:http://wiki.python.org/moin/WhileLoop 这将解释一段时间给你。
while循环是一个循环,它将在条件为真时继续,
x = 0
while x < 10:
print(x)
x = x + 1
print("finished")
将打印0 1 2 3 4 5 6 7 8 9 finished
当x == 10时,循环将结束,并且将打印“已完成”字样。
答案 2 :(得分:0)
近。第一个示例在读取与''
或'\n'
匹配的行时停止循环。您可以将其简化为:
from itertools import takewhile
[x.strip() for x in takewhile(lambda x: x not in ['', '\n'], file.readlines())]
这将存储文件的每一行,直到它在新数组中找到''
或'\n
。