リストにキャスト

Beginner

This tutorial is from open-source community. Access the source code

はじめに

Python では、時々値をリストに変換する必要があります。ただし、値が既にリストである場合、ネストされたリストを作成したくありません。このチャレンジでは、値を受け取り、既にリストまたは他のイテラブルでない限り、それをリストとして返す関数を作成します。

リストにキャスト

引数として値を受け取り、それをリストとして返す関数 cast_list(val) を作成します。値が既にリストである場合は、そのまま返します。値がリストではないがイテラブルな場合は、リストとして返します。値がイテラブルでない場合は、単一要素のリストとして返します。

def cast_list(val):
  return list(val) if isinstance(val, (tuple, list, set, dict)) else [val]
cast_list('foo') ## ['foo']
cast_list([1]) ## [1]
cast_list(('foo', 'bar')) ## ['foo', 'bar']

まとめ

このチャレンジでは、値が既にリストまたは他のイテラブルでない場合にそれをリストにキャストする関数を作成する方法を学びました。isinstance() を使用して値がイテラブルかどうかを確認し、list() を使用して返したり、それに応じてリストにカプセル化したりしました。