リストにキャスト

PythonPythonBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/variables_data_types -.-> lab-13597{{"リストにキャスト"}} python/comments -.-> lab-13597{{"リストにキャスト"}} python/conditional_statements -.-> lab-13597{{"リストにキャスト"}} python/lists -.-> lab-13597{{"リストにキャスト"}} python/tuples -.-> lab-13597{{"リストにキャスト"}} python/function_definition -.-> lab-13597{{"リストにキャスト"}} python/build_in_functions -.-> lab-13597{{"リストにキャスト"}} python/data_collections -.-> lab-13597{{"リストにキャスト"}} end

リストにキャスト

引数として値を受け取り、それをリストとして返す関数 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() を使用して返したり、それに応じてリストにカプセル化したりしました。