for文に便利な関数をまとめてみた!(enumerate関数,zip関数編)Pythonライター:高橋光太郎TwitterFacebookPythonには数多くの組み込み関数と呼ばれる関数が用意されています。出力して欲しい時はprint()を使いますが、これもPythonに用意されている組み込み関数の一つになります。まとめenumerate関数enumerate(エニュメレイト)関数は英語で「数え上げる」という意味があります。Pythonにおけるenumerate関数も要素を数え上げる役割を持っています。詳しく見ていきましょう!enumerate関数とは?enumerate関数は要素のインデックス番号と要素を同時に取り出すことが出来る関数です。説明だけ見てもよくわからないので、enumerate関数が欲しくなる問題を見ていきましょう![問題]問題の出力結果を参考にして次のリストの要素とインデックス番号を同時に表示してください。Food:Bananaさて、こちらは出来ましたでしょうか?私のプログラムを解答例として紹介します。Food:Bananaという風に書きました。food:Bananaこのようにenumerate関数を使うとリストからインデックス番号と要素を同時に取得することが出来ます。enumerate関数の書き方enumerate関数の引数もリスト型、タプル型でないといけません。enumerate関数は戻り値として[インデックス番号、要素]が取得できるので、それらを格納するために変数は2つ必要です。変数1の位置にはインデックス番号が入るので、enumerate関数を使うときは注意してください。enumerate関数のインデックス番号は何も指定しなければ0から始まりますが、任意の数字から始めることも可能です。food:Bananaenumerate関数の第2引数として任意の数字を入れてあげれば、その数字からインデックス番号を始めることができます。ちなみにenumerate関数の第1引数にリスト型、タプル型以外の要素を入れた場合、次のようなエラーが起きます。今回はint型を入れてみました。iterablezip関数データの圧縮フォーマットでお馴染みのzipですが、Pythonにおけるzip関数はデータの圧縮とは関係ありません。それでもzip関数はコードを書く上で大変便利な関数です!zip関数とは?突然ですが、解説を始める前にzip関数の説明の前に次の出力をするプログラムを書いてください。[問題]太郎さん(20歳)と花子さん(21歳)、次郎さん(17歳)の名前と年齢を同時に出力してください。[20,21,17]Taroさんは20歳ですHanakoさんは21歳ですJiroさんは17歳ですこの問題は簡単に見えるのですが、初心者の方は少し手こずるかと思います。分からなければ解答を見て次に進みましょう!解答例として私のプログラムを紹介します。1こんな感じで書いてみました。こちらもenumerate関数の時と同じく少しだけ面倒くさいですよね。今回はリストが2つだけでしたが、このままではこれからリストの数が増えてくるにつれてコードが複雑になってしまいます。それを解決してくれるのがzip関数です。zip関数は複数のリストの要素を同時に取得することが出来ます!先ほどの問題だったら次のように書けます。print("{0}さんは{1}歳です".format(name,age))Taroさんは20歳ですHanakoさんは21歳ですJiroさんは17歳ですこれは、かなり便利ですね!!それではzip関数の書き方について勉強していきましょう!zip関数の書き方zip関数の書き方は単純です。注意するべきところとしてはzip関数は引数といてリスト型やタプル型しか指定できないところです。それ以外を入れてしまうとエラーが起きます。zip関数の書き方はこちらになります。zip(Lists1,Lists2,...,ListsN)もしリスト型、タプル型以外の引数を入れてしまうと次のようなエラーが発生します。iteration""このようなエラーが出たらzip関数の引数がリスト型、タプル型になっているかどうか確認してください。zip関数まとめzip関数が複数のリストの要素を同時に取得できる便利な関数であることを説明しました。これは本当によく使うので覚えておいてください!まとめ今回はPythonのコードを書く上で是非知っておいて欲しい組み込み関数を2つ紹介しました!別でformat関数についてわかりやすくまとめている記事はこちらになります!競技プログラミング(Atcoder)でもこれらの関数はよく使われるものになっています。回)TwitterFacebookライター:高橋光太郎PythonPOPULAR最弱オセロを初めて攻略した天才オセロ高校生。負け方を解説!G検定に落ちた人、合格した人。勉強法の違いはどこにある?G検定は文系でも合格できる。TrendCOMMENTコメントを残すコメントをキャンセルメールアドレスが公開されることはありません。コメント*お名前*メールアドレス*プライバシーポリシーはこちら上に表示された文字を入力してください。