0

誰かがコードを説明できますか 仕組み: 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
4

3 に答える 3

4
  1. ファイルから1行を読み取ります。
  2. 行が空の場合、または'\n'、停止します。
  3. 最後の文字(通常はIMOの方が良い)を破棄し、'\n'空白strip()で分割してから、リストを追加します。
  4. 手順1に進みます。

そして、あなたのforループの問題は、それが空で止まらないか、'\n'

于 2012-11-27T03:45:03.020 に答える
1

最初にこれを読んでください:http ://wiki.python.org/moin/WhileLoop これはあなたにwhileループを説明します。

whileループは、条件が真である間継続するループです。

x = 0
while x < 10:
  print(x)
  x = x + 1
print("finished")

x == 10のときに出力され0 1 2 3 4 5 6 7 8 9 finished、ループが終了し、「finished」という単語が出力されます。

于 2012-11-27T03:48:08.703 に答える
0

ほぼ。最初の例は、一致する行またはを読み取るときにループを停止します。あなたはこれにそれを単純化することができます:'''\n'

from itertools import takewhile
[x.strip() for x in takewhile(lambda x: x not in ['', '\n'], file.readlines())]

''これにより、またはが見つかるまで、ファイルのすべての行が'\n新しい配列に格納されます。

于 2012-11-27T03:49:38.493 に答える