アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【Python
【Python】組み込み関数メモ
POSTED BY
2023-07-02

importを必要とせず最初から使える関数をメモしていく。

https://docs.python.org/ja/3/library/functions.html

iter

イテレータを取得する。

https://docs.python.org/ja/3/library/stdtypes.html#typeiter

イテレータ型
Python はコンテナでの反復処理の概念をサポートしています。この概念は 2 つの別々のメソッドを使って実装されています; これらのメソッドを使ってユーザ定義のクラスで反復を行えるようにできます。後に詳しく述べるシーケンスは、必ず反復処理メソッドをサポートしています。

iter(object[, sentinel])

イテレータ オブジェクトを返します。 第二引数があるかどうかで、第一引数の解釈は大きく異なります。 第二引数がない場合、 object は反復プロトコル (__iter__() メソッド) か、シーケンスプロトコル (引数が 0 から開始する __getitem__() メソッド) をサポートする集合オブジェクトでなければなりません。これらのプロトコルが両方ともサポートされていない場合、 TypeError が送出されます。 第二引数 sentinel が与えられているなら、 object は呼び出し可能オブジェクトでなければなりません。この場合に生成されるイテレータは、 __next__() を呼ぶ毎に object を引数無しで呼び出します。返された値が sentinel と等しければ、 StopIteration が送出され、そうでなければ、戻り値がそのまま返されます。

sepstr = "でぃす いず あ ぺん"
separr = sepstr.split(" ")
print(separr)
i_separr = iter(separr)
print(i_separr)

['でぃす', 'いず', 'あ', 'ぺん']
<list_iterator object at>
</list_iterator>

next

イテレータを引数に取り、次の要素を返す。

next(iterator[, default])

iterator の __next__() メソッドを呼び出すことにより、次の要素を取得します。イテレータが尽きている場合、 default が与えられていればそれが返され、そうでなければ StopIteration が送出されます。

sepstr = "でぃす いず あ ぺん"
separr = sepstr.split(" ")
print(separr)
i_separr = iter(separr)
print(i_separr)
print(next(i_separr))

['でぃす', 'いず', 'あ', 'ぺん']
<list_iterator object at>
でぃす
</list_iterator>

enumerate

リストの要素本体とそのインデックスの両方を取得できる

enumerate(iterable, start=0)

enumerate オブジェクトを返します。 iterable は、シーケンスか iterator か、あるいはイテレーションをサポートするその他のオブジェクトでなければなりません。 enumerate() によって返されたイテレータの __next__() メソッドは、 (デフォルトでは 0 となる start からの) カウントと、 iterable 上のイテレーションによって得られた値を含むタプルを返します。

sepstr = "でぃす いず あ ぺん"
separr = sepstr.split(" ")
print(separr)

for i, s in enumerate(separr):
    print(i, s)

['でぃす', 'いず', 'あ', 'ぺん']
0 でぃす
1 いず
2 あ
3 ぺん

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】