2025.10.18(更新日: 2025.10.18)
【Python】zipとアンパック
はじめに
数字と数字のローマ字のタプルのリストがある。
それをアンパックしたものをzipに渡したものをfor文のイテラブルとして使用する。
zipの処理が行われた要素を出力する。
ソースコード
num_list = [(1, 'one'), (2, 'two'), (3, 'three')]
for number in zip(*num_list):
print(number)
出力結果
元のタプルの最初の要素のタプルと、元のタプルの二つ目の要素のタプルが生成された。
(1, 2, 3)
('one', 'two', 'three')
アンパック
*num_listは、[(1, ‘one’), (2, ‘two’), (3, ‘three’)]を(1, ‘one’), (2, ‘two’), (3, ‘three’)とするのに使用している。以下のようなイメージ。
for number in zip((1, 'one'), (2, 'two'), (3, 'three')):
print(number)
↓出力結果
(1, 2, 3)
('one', 'two', 'three')
アンパックをしなかったら、以下のようになる。もう片方のペアがいない状態。
for number in zip(num_list):
print(number)
↓出力結果
((1, 'one'),)
((2, 'two'),)
((3, 'three'),)
それもそのはず。リスト単体を渡しているから。
num_list
[(1, 'one'), (2, 'two'), (3, 'three')]
コメントを残す