0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pythonの`zip()`を使うと、リストなどをまとめて扱うことができる。リストの大きさが違う場合に長さが長い方を基準に扱いたい場合は`zip_longest`を使うと便利である。

Posted at

pythonのzip()を使うと、リストなどをまとめて扱うことができる。

zip()は複数のイテラブルオブジェクト(リストやタプルなど)の要素をまとめる関数

test.py
names = ['AAA', 'BBB', 'CCC', 'DDD']
ages = [10, 20, 30, 40]

for name, age in zip(names, ages):
    print(name, age)
$ python test.py
AAA 10
BBB 20
CCC 30
DDD 40

しかし、リストの大きさが違う場合は短い方を基準に扱われる。
(長い方は扱われない要素が出てくる)

test.py
names = ['AAA', 'BBB', 'CCC', 'DDD']
ages = [10, 20, 30]

for name, age in zip(names, ages):
    print(name, age)
$ python test.py
AAA 10
BBB 20
CCC 30

リストの大きさが違う場合に長さが長い方を基準に扱いたい場合はzip_longestを使うと便利である。
長い方に処理を合わせてくれる。(存在しないデータはNoneと表示してくれる)

test.py
from itertools import zip_longest
names = ['AAA', 'BBB', 'CCC', 'DDD']
ages = [10, 20, 30]

for name, age in zip_longest(names, ages):
    print(name, age)
$ python test.py
AAA 10
BBB 20
CCC 30
DDD None

それだけです。

参考

Python, zip関数の使い方: 複数のリストの要素をまとめて取得

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?