python

【python】zipとenumerateを使う【→プログラミング初心者向け】

how to use zip and enumerate in python
プログラム女子
プログラム女子

2つの配列をfor文で使う時、同時に配列を探索する方法ないですかね?

それには「zip」という関数を使うと良いよ。
ついでに配列の添字(順番)を知りたい場合もあるから、今回は合わせて説明するね。

Tommy
Tommy

pythonのzipとenumerateを使う概要

summary of zip and enumerate

この記事では、配列を扱う場合に便利なzipとenumerateの使いかを説明します。

enumerateは「配列の要素とインデックスを同時に抽出する関数」です。

一方、zipは「複数のリスト要素をまとめて取り出す関数」のことです。

さらに、この記事では、それらの2つを組み合わせた効果的な使い方もサンプルプログラムを使って説明します。

pythonのzipとenumerateを使う前提環境

environment of zip and enumerate

enumerateとzipの使い方の前提環境は、下の記事で説明している私の環境と同じ環境で確認しています。

【python】バージョン確認の方法【→プログラミング初心者向け】

また、レンタルサーバなどのLinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。

もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。

レンタルサーバでプログラミングする方法【→レンタルサーバでできる!】

pythonのzipとenumerateを使うサンプルプログラム

sample program of zip and enumerate

ここでは、配列と要素番号を同時に取り出すサンプルプログラムを説明します。

For文などでリストの要素を1つずつ取り出して処理したいけど、その要素が何番目の要素なのかを一緒に知りたいことがあります。enumerateはそのような場合に有効です。

enumerateを使うサンプルプログラム

list1のような文字が入った配列があった場合に、 enumerate はその順番と値を返してくれる関数です。

※一番先頭の値は「0番目」となります。

if __name__ == '__main__':
  list1 = ['A','B','C','D']
  
  for i,ele_list1 in enumerate(list1):
		print(i)
		print(str(ele_list1))

enumerateを使うサンプルプログラム実行結果

0
a
1
b
2
c
3
d

zipを使うサンプルプログラム

次に、2つ配列から同時に要素を1つづつ取り出す zip の使い方のサンプルプログラムを説明します。

複数のリストから要素を1つずつ取り出してFor文を回したいという場合に、この zip は有効です。

if __name__ == '__main__':
	list1 = ['A','B','C','D']
	list2 = ['a','b','c','d']
  
	for ele_list1,ele_list2 in zip(list1,list2):
		print(str(ele_list1)+':'+str(ele_list2))
  

zipを使うサンプルプログラム実行結果

A:a
B:b
C:c
D:d

enumerateとzipを組み合わせたサンプルプログラム

最後に、enumerateとzipを組み合わせた使い方を説明します。ここでは、2つリスト要素を同時に2つづつ取り出し、要素数も同時に取り出すというサンプルコードを書いています。

リストの要素を1つずつ取り出して処理して、かつ、複数のリストから要素を1つずつ取り出してFor文を回したいという場合に、 enumeratezip を組み合わせた使い方が有効です。

if __name__ == '__main__':

	list1 = ['A','B','C','D']
	list2 = ['a','b','c','d']
  
	for i,(ele_list1,ele_list2) in enumerate(zip(list1,list2)):
		print(i)
		print(str(ele_list1)+':'+str(ele_list2))

enumerateとzipのサンプルプログラム実行結果

0
A:a
1
B:b
2
C:c
3
D:d

pythonのその他「初心者向け」技術

other technique for python beginner

その他のpythonプログラムの「基礎知識」を下記の記事にまとめています。

どれもpythonの文法というべき、基本的なものばかりで、これから「pythonでプログラムを学びたい」という人は、「知っておいて方がよいもの」ばかりです。

私は、「プログラム」は「動いて」こそ価値ががあると考えています。 もともと、「プログラムを学ぶ」というのは、「自分が意図した動作をプログラムにさせるようになる」ということだと思います。 つまり、プログラムを自分の意図通りに動かして、初めて「学べた」と言えるということです。

しかし、実際に手で書いて動かしてみないと「学べない」ことがあります。 頭で理解したと思っても、いざプログラムを書こうとおもっても思い通りにいかない場合があるからです。 それには、プログラムを書く環境の問題だったり、pythonのバージョンが違ったり、ライブラリのバージョンが違ったり、いろいろな事情があります。

「頭で理解する」ことと「実際に動かす」ということは違うのです。 だから、プログラムを学ぶ時には実際にプログラムを書いて「動かしてみる」ことを強くおすすめします。

それぞれの記事には、実行可能なサンプルプログラムを掲載しています。 記事を読んで、実際に自分で書いてみてプログラムの動作をご自身で確認することができます。 是非、下記の記事を読んで、「知識」としてだけではなく、「手」でpythonを覚えていってください。

【python】初心者向けおすすめ記事まとめ【pythonの文法をマスターする!】

-python
-, ,

Copyright© Tommy's blog , 2020 All Rights Reserved Powered by AFFINGER5.