Pythonでイテラブルを1つに合わせる方法

この記事の内容
  • Pythonでイテラブルを1つに合わせる方法

この記事の対象者
  • Pythonエンジニア
  • Pythonの学習者

この記事の構成
  1. zip()

はじめに

今回はPythonでイテラブルを1つに合わせる方法を紹介します。
例えば2つのリストを1に合わせる、のような事が出来ます。
組み込み関数のzip()を使用します。

zip()

引数にイテラブルを取ります。
タプルのイテレータを返します。
2つのイテラブルの要素数が異なる場合短いものが終わったら終了します。

それではコードを見ていきましょう。


fruits = ['apple', 'orange', 'banana', 'melon']
price = ['100円', '80円', '50円', '1000円', '300円', '4800円']

for fruit, price in zip(fruits, price):
    print(fruit, price, sep='-')

# 出力結果

apple-100円
orange-80円
banana-50円
melon-1000円

要素数が少ないほうに合わせるのでprice[]の後ろ2つ、'300円' と '4300円' は出力されていませんね。
sep='-' で区切りを - (ハイフン)にして出力しました。

もっとシンプルに書くことも出来ます。


fruits = ['apple', 'orange', 'banana', 'melon']
price = ['100円', '80円', '50円', '1000円', '300円', '4800円']
ziped = zip(fruits, price)
print(list(ziped))

リストの各要素にタプルが入っています。

# 出力結果

[('apple', '100円'), ('orange', '80円'), ('banana', '50円'), ('melon', '1000円')]

終わりに

データを整えたり、整形するのに便利ですね!

組み込み関数 Python 3.8.3 ドキュメント

興味のあるかたはオフィシャルのドキュメントもご覧ください。

それではお疲れ様でした!