【python】enumerate関数の使い方を詳しく説明する
4393 ワード
1、内蔵関数enumerate(iterable[,start])の公式説明: enumerateは辞書で列挙、列挙の意味 である.反復可能(iterable)/遍歴可能なオブジェクト(リスト、文字列など)についてenumerateは、インデックスと値 を同時に得ることができるインデックスシーケンスを構成する. enumerateはforループでカウントを得るために多く使用され、最初のパラメータiterableは反復可能なオブジェクトリストやメタグループ、文字列などに入力される.2番目のパラメータstartはオプションパラメータで、開始index数を指定します.
2、インスタンス詳細解1つのseq反復可能オブジェクトに対してenumerate操作を行い、enumerate(seq)を得る:
リストseqs=[1,2,3,4,7,8,9]を列挙し、遍歴インデックスと要素の両方を取得する場合:
指定したindex値が1の場合:
ファイルの行数を統計する場合は、次のように書くことができます.
この方法は簡単ですが、ファイルが大きいと仕事もできないかもしれません.enumerate()を使用できます.
class enumerate(object)
| enumerate(iterable[, start]) -> iterator for index, value of iterable
|
| Return an enumerate object. iterable must be another object that supports
| iteration. The enumerate object yields pairs containing a count (from
| start, which defaults to zero) and a value yielded by the iterable argument.
| enumerate is useful for obtaining an indexed list:
| (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
|
| Methods defined here:
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __iter__(self, /)
| Implement iter(self).
|
| __new__(*args, **kwargs) from builtins.type
| Create and return a new object. See help(type) for accurate signature.
|
| __next__(self, /)
| Implement next(self).
|
| __reduce__(...)
| Return state information for pickling.
2、インスタンス詳細解1つのseq反復可能オブジェクトに対してenumerate操作を行い、enumerate(seq)を得る:
input:enumerate(seq)
output:(0, seq[0]), (1, seq[1]), (2, seq[2])
リストseqs=[1,2,3,4,7,8,9]を列挙し、遍歴インデックスと要素の両方を取得する場合:
In [2]: seqs = [1,2,3,4,7,8,9]
In [3]: enumerate(seqs)
Out[3]: 0x1ba9c822b88>
In [4]: list(enumerate(seqs))
Out[4]: [(0, 1), (1, 2), (2, 3), (3, 4), (4, 7), (5, 8), (6, 9)]
指定したindex値が1の場合:
In [5]: list(enumerate(seqs,1))
Out[5]: [(1, 1), (2, 2), (3, 3), (4, 4), (5, 7), (6, 8), (7, 9)]
ファイルの行数を統計する場合は、次のように書くことができます.
count = len(open(filepath, 'r').readlines())
この方法は簡単ですが、ファイルが大きいと仕事もできないかもしれません.enumerate()を使用できます.
count = 0
for index, line in enumerate(open(filepath,'r')):
count += 1