【Python】iter()でオブジェクトをイテレータに変換する!
Pythonのiter()を使用すると、オブジェクトをイテレータに変換することができます。
iter()とは指オブジェクトをイテレータとして返す関数であり、文字列やリストなどのオブジェクトをイテレータに変換することができます。
そもそも、イテレータとはリストのコピーのようなものであり、要素を一つずつ順に取り出すためのインタフェースとなります。
また、next()を使用することでイテレータの要素を順番に取り出すことができます。
今回はPythonのiter()でオブジェクトをイテレータに変換する方法について以下の内容で解説していきます。
⚫︎ 文字列をイテレータに変換する場合
⚫︎ リスト(list)をイテレータに変換する場合
⚫︎ タプル(tuple)をイテレータに変換する場合
⚫︎ 辞書(dict)をイテレータに変換する場合
⚫︎ setをイテレータに変換する場合
⚫︎ frozensetをイテレータに変換する場合
⚫︎ イテレータの要素を取り出す方法
目次
iter()とは
iter()とは、オブジェクトをイテレータとして返す関数となります。
そもそもイテレータとは、リストのコピーのようなものであり、要素を一つずつ順に取り出すためのインタフェースとなります。
iter()の書き方
iter()の書き方は下記となります。
1 |
iter(オブジェクト) |
iter()のパラメータ
⚫︎ オブジェクト:
イテレータ化したいオブジェクト(文字列やリストなど)を指定する
iter()のパラメータにオブジェクトを指定することで、指定したオブジェクトをイテレータに変換して返します。
オブジェクトをイテレータに変換するサンプルコード
オブジェクトをイテレータに変換するサンプルコードを紹介します。
文字列をイテレータに変換する場合
iter()で文字列をイテレータに変換してみます。
例
1 2 3 4 5 6 |
str1 = 'あいうえおかきくけこ' print(str1) print('・iter()で文字列をイテレータに変換') iter1 = iter(str1) print(iter1) |
出力結果
あいうえおかきくけこ
・iter()で文字列をイテレータに変換
<str_iterator object at 0x7fac19567340>
iter()によって、文字列をイテレータに変換しています。
リスト(list)をイテレータに変換する場合
iter()でリスト(list)をイテレータに変換してみます。
例
1 2 3 4 5 6 |
list1 = ['値1', '値2', '値3', '値4', '値5'] print(list1) print('・iter()でリストをイテレータに変換') iter1 = iter(list1) print(iter1) |
出力結果
[‘値1’, ‘値2’, ‘値3’, ‘値4’, ‘値5’]
・iter()でリストをイテレータに変換
<list_iterator object at 0x7f309e3b5df0>
iter()によって、リストをイテレータに変換しています。
タプル(tuple)をイテレータに変換する場合
iter()でタプル(tuple)をイテレータに変換してみます。
例
1 2 3 4 5 6 |
tuple1 = ('値1', '値2', '値3', '値4', '値5') print(tuple1) print('・iter()でタプルをイテレータに変換') iter1 = iter(tuple1) print(iter1) |
出力結果
(‘値1’, ‘値2’, ‘値3’, ‘値4’, ‘値5’)
・iter()でタプルをイテレータに変換
<tuple_iterator object at 0x7f4b903b6340>
iter()によって、タプルをイテレータに変換しています。
辞書(dict)をイテレータに変換する場合
iter()で辞書(dict)をイテレータに変換してみます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
dict1 = {1: '値1', 2: '値2', 3: '値3', 4: '値4', 5: '値5'} print(dict1) print('・iter()で辞書のキーをイテレータに変換') iter1 = iter(dict1.keys()) print(iter1) print('・iter()で辞書の値をイテレータに変換') iter2 = iter(dict1.values()) print(iter2) print('・iter()で辞書のキーと値をイテレータに変換') iter3 = iter(dict1.items()) print(iter3) |
出力結果
{1: ‘値1’, 2: ‘値2’, 3: ‘値3’, 4: ‘値4’, 5: ‘値5’}
・iter()で辞書のキーをイテレータに変換
<dict_keyiterator object at 0x7f2f478ef680>
・iter()で辞書の値をイテレータに変換
<dict_valueiterator object at 0x7f2f477e6540>
・iter()で辞書のキーと値をイテレータに変換
<dict_itemiterator object at 0x7f2f478530e0>
iter()によって、辞書をイテレータに変換しています。
setをイテレータに変換する場合
iter()でsetをイテレータに変換してみます。
例
1 2 3 4 5 6 |
set1 = {'値1', '値2', '値3', '値4', '値5'} print(set1) print('・iter()でsetをイテレータに変換') iter1 = iter(set1) print(iter1) |
出力結果
{‘値1’, ‘値2’, ‘値4’, ‘値5’, ‘値3’}
・iter()でsetをイテレータに変換
<set_iterator object at 0x7f3c2167c780>
iter()によって、setをイテレータに変換しています。
frozensetをイテレータに変換する場合
iter()でfrozensetをイテレータに変換してみます。
例
1 2 3 4 5 6 |
frozenset1 = frozenset({'値1', '値2', '値3', '値4', '値5'}) print(frozenset1) print('・iter()でfrozensetをイテレータに変換') iter1 = iter(frozenset1) print(iter1) |
出力結果
frozenset({‘値3’, ‘値2’, ‘値5’, ‘値4’, ‘値1’})
・iter()でfrozensetをイテレータに変換
<set_iterator object at 0x7f330ed95840>
iter()によって、frozensetをイテレータに変換しています。
イテレータの要素を取り出す方法
イテレータの要素を取り出すには、next()を使用します。
next()とは、イテレータの要素を順番に取り出す関数であり、iter()によってイテレータ化されたミュータブルやイミュータブルな型の要素を順番に取り出すことができます。
例
1 2 3 4 5 6 7 8 9 10 |
list1 = ['value1', 'value2', 'value3', 'value4', 'value5'] print(list1) print('・next()でリストの要素を取り出す') list2 = iter(list1) print(next(list2)) print(next(list2)) print(next(list2)) print(next(list2)) print(next(list2)) |
出力結果
[‘value1’, ‘value2’, ‘value3’, ‘value4’, ‘value5’]
・next()でリストの要素を取り出す
value1
value2
value3
value4
value5
next()によって、イテレータの要素を順番に取り出すことができます。
もし、next()でイテレータの要素を取り出す方法について詳しく知りたい場合はこちらをご参考ください。
今回のポイント
iter()でオブジェクトをイテレータに変換
Pythonでオブジェクトをイテレータに変換するにはiter()を使用する。
⚫︎ イテレータとはリストのコピーのようなものであり、要素を一つずつ順に取り出すためのインタフェースである
⚫︎ iter()は文字列をイテレータに変換することができる
⚫︎ iter()はリストやタプルなどをイテレータに変換することができる
(辞書、set、fozensetもイテレータに変更可能)
⚫︎ イテレータの要素を取り出すにはnext()を使用する
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。