イテラブルとは?初心者にも分かる徹底解説共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
イテラブルとは?初心者にも分かる徹底解説共起語・同意語・対義語も併せて解説!
この記事を書いた人

岡田 康介

名前:岡田 康介(おかだ こうすけ) ニックネーム:コウ、または「こうちゃん」 年齢:28歳 性別:男性 職業:ブロガー(SEOやライフスタイル系を中心に活動) 居住地:東京都(都心のワンルームマンション) 出身地:千葉県船橋市 身長:175cm 血液型:O型 誕生日:1997年4月3日 趣味:カフェ巡り、写真撮影、ランニング、読書(自己啓発やエッセイ)、映画鑑賞、ガジェット収集 性格:ポジティブでフランク、人見知りはしないタイプ。好奇心旺盛で新しいものにすぐ飛びつく性格。計画性がある一方で、思いついたらすぐ行動するフットワークの軽さもある。 1日(平日)のタイムスケジュール 7:00 起床:軽くストレッチして朝のニュースをチェック。ブラックコーヒーで目を覚ます。 7:30 朝ラン:近所の公園を30分ほどランニング。頭をリセットして新しいアイデアを考える時間。 8:30 朝食&SNSチェック:トーストやヨーグルトを食べながら、TwitterやInstagramでトレンドを確認。 9:30 ブログ執筆スタート:カフェに移動してノートPCで記事を書いたり、リサーチを進める。 12:30 昼食:お気に入りのカフェや定食屋でランチ。食事をしながら読書やネタ探し。 14:00 取材・撮影・リサーチ:街歩きをしながら写真を撮ったり、新しいお店を開拓してネタにする。 16:00 執筆&編集作業:帰宅して集中モードで記事を仕上げ、SEOチェックやアイキャッチ作成も行う。 19:00 夕食:自炊か外食。たまに友人と飲みに行って情報交換。 21:00 ブログのアクセス解析・改善点チェック:Googleアナリティクスやサーチコンソールを見て数字を分析。 22:00 映画鑑賞や趣味の時間:Amazonプライムで映画やドラマを楽しむ。 24:00 就寝:明日のアイデアをメモしてから眠りにつく。


イテラブルとは何か

イテラブルとは、反復処理ができるオブジェクトのことを指します。プログラミングでよく使われる概念で、for ループを回すときに順番に要素を取り出せる性質を持っています。

身近な例として、リスト文字列タプル集合辞書などが挙げられます。これらはすべてイテラブルです。反対に、整数のような単一の値はイテラブルではありません。

実際の使い方と基本の考え方

Python の場合、for ループは内部で iter(obj) を呼び出して、その obj の イテレータを作ります。次の要素を取り出すたびに StopIteration が発生するまで繰り返します。

例えばリストの場合、for x in [1, 2, 3]: と書くと、x は 1, 2, 3 と順番に取り出されます。文字列の場合は一文字ずつ、abc の場合は a, b, c が取り出されます。

辞書を使う場合は、デフォルトの挙動としてキーが順番に取り出されます。もし値を取り出したい場合は dict.values() や dict.items() を使います。

重要な違いを押さえておくと良いです。イテラブルは「反復処理ができる」という性質を指すだけで、実際に値を返す操作は イテレータ が担います。すべてのイテラブルが必ず一度だけ走査されるわけではなく、適切に再利用したい場合は新しくイテレータを作る必要があります。

理解を深める小さな表

ble> 名前説明例 リスト要素を順序付きで格納する可変長のデータ[1,2,3] 文字列文字の列。各文字が要素になるabc タプル変更不可の要素列(1,2,3) 辞書キーの列として反復できる{a:1, b:2} 集合重複なしの要素の集まり。順序は保証されない{1,2,3}

よくある混乱と補足

イテラブルとイテレータの違いを混同しやすいですが、イテラブルは「反復処理ができるもの」、イテレータは「その反復処理を実際に進める道具」です。for ループは内部的には iter(obj) を呼んで次の要素を取り出します。


イテラブルの同意語

反復可能
要素を順番に取り出して処理できる性質のこと。データ構造が反復処理の対象になり得る状態を指す。
列挙可能
データの各要素を順に列挙して取り出せる性質のこと。
繰り返し可能
同じデータ構造の要素を繰り返し取り出すことができる性質のこと。
反復可能性
イテラブルである性質そのものを指す名詞形。
列挙可能性
データの全要素を順番に取り出せる性質の名詞形。

イテラブルの対義語・反対語

非イテラブル
イテラブルでない。反復処理(for ループ等)に適さないオブジェクトや値。
反復不能
反復処理が不能な状態。データを逐次的に巡回できないこと。
反復不可
反復(イテレーション)が不可の性質。主にデータが反復対象外であることを示す表現。
非反復性
反復する性質がないこと。反復可能性の対になる抽象的表現。
反復対象外
反復の対象として扱えないデータやオブジェクトのこと。
非反復型
反復できない型。プリミティブ値に近い性質を指す表現。
イテレーション不可
イテレーション(反復)を許容しない性質。

イテラブルの共起語

イテレータ
次の要素を返すオブジェクト。反復処理の中心となる。
反復
要素を順番に取り出して処理すること。for ループなどで行われる動作。
反復可能
繰り返し処理が可能な性質を指す概念。イテラブルの別名として使われることもある。
イテラブルなオブジェクト
for ループなどで反復できるオブジェクトの総称。リストや文字列が代表例。
ジェネレータ
遅延評価で要素を一つずつ生み出す特別なイテレータ。yield を使って実装される。
ジェネレータ式
短い文法でジェネレータを作る表現。例: (x*x for x in range(10))。
リスト
要素を順序付きで格納するミュータブルなコレクション。イテラブル。
タプル
変更不可の順序付きコレクション。イテラブル。
セット
重複なしの要素集合。順序は保証されないがイテラブル。
シーケンス
順序を持つイテラブルの総称。リスト・タプル・文字列など。
リスト内包表記
イテラブルから要素を抽出して新しいリストを作る短い構文。
for ループ
イテラブルの各要素を順に処理する構文。
in 演算子
イテラブルに要素が含まれるかを判定したり、反復対象を指定する演算子。
__iter__
イテラブルが返すイテレータを取得するための特殊メソッド。
next
イテレータの次の要素を取得する組み込み関数。
len
要素数を返す組み込み関数。シーケンス系は適用可能。
enumerate
イテラブルを走査し、要素と同時にインデックスを得る関数。
map
イテラブルの各要素に指定した関数を適用する関数。
zip
複数のイテラブルを同時に走査して要素を組み合わせる関数。
filter
条件を満たす要素だけを取り出す関数。
遅延評価
必要になるまで要素の生成を遅らせる評価戦略。ジェネレータの特徴。

イテラブルの関連用語

イテラブル
反復処理ができるオブジェクトで、通常は __iter__ を呼ぶとイテレータを返します。for ループなどで使われ、代表例はリスト、タプル、文字列、辞書、ファイルオブジェクトなどです。
反復可能
イテラブルと同義で、反復処理を想定した性質のこと。日本語表現としてはこちらも使われます。
イテレータ
次の要素を返す能力を持つオブジェクト。次の要素を取得するには next() を使い、終わりには StopIteration 例外が投げられます。
反復子
イテレータの別称。日本語では“反復子”と呼ばれることがあります。
iter()関数
イテラブルからイテレータを作成する組み込み関数。例: iter([1,2,3])
next()関数
イテレータから次の要素を取り出す関数。もう要素がないと StopIteration を投げます。
StopIteration
反復処理の終わりを知らせる特殊な例外。プログラムはこれを捕捉して終わりを扱います。
生成器
yield を使って値を逐次返す関数やオブジェクト。遅延評価を利用します。
ジェネレーター関数
yield を含む通常の関数。呼び出すとジェネレーターオブジェクトを返します。
ジェネレーター式
リスト内包表記の短い形でジェネレーターを作る構文。例: (x for x in xs)
yield
ジェネレーターで値を返しつつ実行を一時停止するキーワード。次回の再開地点から続きます。
yield from
別のイテレータの全要素を現在のジェネレーターから順に返す構文。
__iter__
イテラブルが実装する特殊メソッド。呼ぶとイテレータを返します。
__next__
イテレータが実装する特殊メソッド。次の要素を返します。
非同期イテラブル
async for などで非同期に要素を取り出せるオブジェクト。
非同期イテレータ
非同期に要素を返すイテレータ。
__aiter__
非同期イテラブルが実装する、非同期イテレータを返すメソッド。
__anext__
非同期イテレータが実装する、次の要素を非同期で返すメソッド。
遅延評価
必要な時だけ値を計算・生成する性質。ジェネレーターの主要な利点のひとつです。
シーケンス
長さと順序を持つコレクションの総称。代表例はリスト、タプル、文字列。
コレクション
複数の要素を格納するデータ構造の総称で、反復可能なものが多いです。
コンテナ
要素を格納して扱うデータ構造のこと。代表的な例にはリスト、セット、辞書など。
辞書
キーと値の組み合わせを格納するハッシュマップ。反復時はデフォルトでキーが返されます。
ファイルオブジェクト
ファイルを開いたときに得られるオブジェクト。1 行ずつ読み込むなど、反復処理に向いています。
for文
for x in iterable のように、イテラブルの要素を順に取り出す構文。初心者にも馴染みやすい入口です。
iteration
反復処理の過程。要素を順番に取り出すことを指します。
イテレーションプロトコル
イテラブルとイテレータが協調して動作するための決まりごと。主に __iter__ と __next__/StopIteration で構成されます。

イテラブルのおすすめ参考サイト


インターネット・コンピュータの人気記事

pin番号・とは?初心者にも分かるPINの基本と使い方共起語・同意語・対義語も併せて解説!
1359viws
7-zipとは?初心者でもわかる使い方と特徴を徹底解説共起語・同意語・対義語も併せて解説!
502viws
インターネットアクセスとは?初心者にも分かる基本ガイド共起語・同意語・対義語も併せて解説!
215viws
コンポーネント化・とは?初心者にも分かる基本と実例共起語・同意語・対義語も併せて解説!
172viws
dアカウントとは何か徹底解説 登録と使い方の入門ガイド共起語・同意語・対義語も併せて解説!
158viws
ミュート・とは?初心者でもわかる使い方と意味を解説共起語・同意語・対義語も併せて解説!
132viws
単精度浮動小数点とは?初心者向けのわかりやすい解説共起語・同意語・対義語も併せて解説!
119viws
8ビット・とは?初心者にもわかる基本の解説共起語・同意語・対義語も併せて解説!
115viws
トンバックとは?初心者でもわかるトンバック対策と改善のコツ共起語・同意語・対義語も併せて解説!
113viws
qgisとは?初心者が知っておくべき地理情報システムの入門ガイド共起語・同意語・対義語も併せて解説!
112viws
公開日・とは?初心者が押さえる基本ポイントと活用法共起語・同意語・対義語も併せて解説!
109viws
lan配線・とは?初心者にも分かる自宅LANの基本と実践ガイド共起語・同意語・対義語も併せて解説!
104viws
スタンドバイとは?初心者にも分かる意味と使い方を徹底解説共起語・同意語・対義語も併せて解説!
97viws
ランダムアクセスメモリ・とは?初心者でもすぐ分かる基本と仕組みの解説共起語・同意語・対義語も併せて解説!
95viws
gimpとは?初心者にもやさしい使い方と基本を徹底解説共起語・同意語・対義語も併せて解説!
94viws
トグルボタンとは?初心者のための基本と使い方ガイド共起語・同意語・対義語も併せて解説!
94viws
コア・とは?初心者が知っておく基本と使い方共起語・同意語・対義語も併せて解説!
88viws
facebook・とは?初心者向け完全ガイド:基本と使い方をわかりやすく解説共起語・同意語・対義語も併せて解説!
88viws
不適・とは?初心者にも分かる意味と使い方を詳しく解説共起語・同意語・対義語も併せて解説!
86viws
udp・とは?ネットワークの仕組みをやさしく解説共起語・同意語・対義語も併せて解説!
85viws

新着記事

インターネット・コンピュータの関連記事