69

リストがあり、最初のリストを繰り返し処理したいとnします。Pythonでこれを書くための最良の方法は何ですか?

4

4 に答える 4

111

通常の方法はスライスです:

for item in your_list[:n]: 
    ...
于 2010-04-22T03:45:51.620 に答える
34

私はおそらく使用しますitertools.islice(<-ドキュメントのリンクをたどります)。これには次の利点があります。

  • 反復可能なオブジェクトの操作
  • リストをコピーしない

使用法:

import itertools

n = 2
mylist = [1, 2, 3, 4]
for item in itertools.islice(mylist, n):
    print(item)

出力:

1
2

欠点の1つは、ゼロ以外の開始が必要な場合は、その時点まで1つずつ繰り返す必要があることです:https ://stackoverflow.com/a/5131550/895245

Python3.8.6でテスト済み。

于 2010-04-22T03:41:03.903 に答える
10

リストをスライスするだけです。

>>> l = [1, 2, 3, 4, 5]
>>> n = 3
>>> l[:n]
[1, 2, 3]

次に、他の反復可能オブジェクトと同様に、スライスを反復処理します。

于 2010-04-22T03:46:06.017 に答える
2

PythonリストはO(1)ランダムアクセスなので、次のようになります。

for i in xrange(n):
    print list[i]
于 2010-04-22T03:40:49.737 に答える