python リストを一括でループ処理して値を取得する

python リストを一括でループ処理して値を取得する

pythonで、リストを一括でループ処理して値を取得するサンプルコードを記述してます。「zip」に対象のリストを指定して「for」などでループさせて取得できます。pythonのバージョンは3.10.0を使用してます。

環境

  • OS windows11 home 64bit
  • python 3.10.0

リストを一括でループ処理して値を取得

リストを一括でループ処理して値を取得するには、「zip」を使用します。

name = ['itiro','jiro','saburo']
age = [10, 20, 30]
address = ['tokyo', 'osaka', 'kyoto']

for name, age, address in zip(name, age, address):
  print(f'{name}: {age}: {address}')

実行結果

要素の数が揃っていないと、少ない要素に合わされます。

name = ['itiro','jiro']
age = [10, 20, 30]
address = ['tokyo', 'osaka', 'kyoto']

for name, age, address in zip(name, age, address):
  print(f'{name}: {age}: {address}')

実行結果

Noneで埋める

要素の数が合わない場合に「None」で埋めるには「zip_longest」を使用します。

from itertools import zip_longest

name = ['itiro','jiro','saburo']
age = [10, 20,]
address = ['tokyo', 'osaka', 'kyoto']

for name, age, address in zip_longest(name, age, address):
  print(f'{name}: {age}: {address}')

実行結果

値がない場合に、「fillvalue」を使用すればデフォルト値を指定することも可能です。

from itertools import zip_longest

name = ['itiro','jiro','saburo']
age = [10, 20,]
address = ['tokyo', 'osaka', 'kyoto']

for name, age, address in zip_longest(name, age, address,fillvalue=100):
  print(f'{name}: {age}: {address}')

実行結果