Pythonのデータ構造の種類:リスト、タプル、セット、辞書

公開: 2020-12-30

Pythonは、すべてのデータサイエンス愛好家にとって常にお気に入りの言語です。 用途の広い性質とわかりやすいアプローチにより、開発者は、小さなセミコロンのバグを修正したり、かっこを閉じたりするのではなく、データの傾向を理解し、意味のある洞察を引き出すことに集中できます。 初心者の間で最も人気のある言語であるPythonはすぐに適応されるため、この言語をよく理解することが重要になります。

データ構造は、どのプログラミング言語でも不可欠な概念です。 これは、データ型に応じて、変数とデータを可能な限り最良の方法でメモリに格納および取得する方法を定義します。 また、変数間の関係も定義します。これは、変数に対して実行する必要のある操作と関数を決定するのに役立ちます。 Pythonがデータを管理する方法を理解しましょう。

目次

Pythonのデータ構造の種類

1.リスト

これは、Pythonプログラミングで最も単純で一般的に使用されるデータ構造です。 名前が示すように、それは保存されるアイテムのコレクションです。 保存されるアイテムは、数値、文字列、ブール値、オブジェクトなど、さまざまなタイプにすることができます。 これは、リストに任意のタイプのデータを含めることができ、任意のタイプのループを使用してこのリストを反復処理できることを意味します。

保存される要素は通常、リスト内の位置を定義するインデックスに関連付けられています。 インデックスの番号付けはゼロから始まります。 リストは変更可能です。つまり、リスト内の要素は、定義した後でも追加、削除、または変更できます。 このデータ構造は、他の言語の配列に似ており、通常は同種です。つまり、1つのタイプのデータのみを配列に格納できます。 リストの基本的な操作は次のとおりです。

  • Pythonでリストを宣言するには、リストを角かっこで囲みます。

sample_list = ['upGrad'、 '1'、2]

  • 空のリストを初期化するには:

sample_list = list()

  • リストに要素を追加します。

sample_list.append('new_element')

  • リストから要素を削除します。

sample_list.remove(<要素名>)は特定の要素を削除します

del sample_list [<element index num>]は、そのインデックスの要素を削除します

sample_list.pop(<element index num>)は、そのインデックスの要素を削除し、削除された要素を返します

  • 任意のインデックスで要素を変更するには:

sample_list[<任意のインデックス>]=新しいアイテム

  • スライス:これは、特定のインスタンスでリスト内のアイテムを除外できる重要な機能です。 リストから特定の範囲の値のみが必要であると考えてください。これは、次の方法で簡単に実行できます。

sample_list [start:stop:step]ここで、stepは要素間のギャップを定義し、デフォルトでは1です。

学ぶ:完璧な決定木を作成する方法

2.タプル

これは、データを順番に格納するもう1つのデータ構造です。つまり、追加されたデータはリストのように整然と残ります。 同じ行に従って、タプルは異種データを格納することもでき、インデックス付けは同じままです。

2つの主な違いは、タプルに格納されている要素は不変であり、定義後に変更できないことです。 つまり、タプルから新しい要素を追加したり、既存のアイテムを変更したり、要素を削除したりすることはできません。 要素は、インデックス付けまたはアンパックを介してのみ、置換なしで読み取ることができます。

これにより、作成の点でリストと比較してタプルが高速になります。 タプルはメモリの単一ブロックに格納されますが、リストには2つのブロックが必要です。1つは固定サイズで、もう1つはデータを格納するための可変サイズです。 保存する要素をさらに変更する必要がないとユーザーが確信している場合は、リストよりもタプルを優先する必要があります。 タプルを使用する際に考慮すべきいくつかの事項:

  • 空のタプルを初期化するには:

sample_tuple = tuple()

  • タプルを宣言するには、項目を角かっこで囲みます。

sample_tuple =('upGrad'、'Python'、'ML'、23432)

  • タプルの要素にアクセスするには:

sample_tuple [<index_num>]

3.セット

数学では、セットは、相互に関連している場合と関連していない場合がある、明確に定義された一意の要素のコレクションです。 タプルとリストでは、多くの重複要素を失敗せずに格納できますが、セットデータ構造は一意のアイテムのみを取り込みます。

セットの要素は不規則な方法で保存されます。つまり、アイテムはセットにランダムに保存され、明確な位置やインデックスはサポートされておらず、セット内でのスライスも許可されていません。 セット自体は可変ですが、セットの動作方法はこれらの要素をハッシュするため、要素は不変である必要があります。このプロセスでは、不変の要素のみをハッシュできます。

要素はセットに追加したり、セットから削除したりできますが、インデックス付けの概念がないため変更できません。したがって、要素を変更できます。 数学の場合と同様に、ここでも、和集合、積集合、差、互いに素など、すべての集合演算を実行できます。 それを実装する方法を見てみましょう:

  • 空のセットを初期化するには:

sample_set = set()

  • セットに要素を追加します。

sample_set.add(item)これにより、1つのアイテムがセットに追加されます

sample_set.update(items)これにより、リスト、タプル、または別のセットを介して複数のアイテムを追加できます

  • セットから要素を削除します。

sample_set.discard(item)要素が存在しない場合、警告なしに要素を削除します

sample_set.remove(item)削除する要素が存在しない場合、エラーが発生します。

  • セット操作(初期化された2つのセット:AとBを想定):

A | BまたはA.union(B):和集合演算

A&BまたはA.intersection(B):交差操作

A – BまたはA.difference(B):2つのセットの差

A ^ BまたはA.symmetric_difference(B):セットの対称差

チェックアウト: Pythonのデータフレーム

4.辞書

これはPythonで最も便利なデータ構造であり、データ要素をキーと値のペアで格納できます。 キーは不変の値である必要があり、値は変更可能なアイテムにすることができます。 この概念は、実際の辞書がどのように見えるかに似ており、単語をキーとして、それらの意味を値として使用します。 ディクショナリはこれらのペアを順序付けられていない方法で格納するため、このデータ構造にはインデックスの概念はありません。 これに関連するいくつかの重要なこと:

  • 空の辞書を初期化するには:

sample_dict = dict()

  • 辞書に要素を追加するには:

sample_dict [key] = value

これを行う別の方法は、sample_dict = {key:value}です。

この辞書を印刷すると、出力は次のようになります。{'key1':value、'key2':value…}

  • 辞書のキーと値を取得するには:

sample_dict.keys():キーリストを返します

sample_dict.values():値リストを返します

sample_dict.items():キーと値のペアのビューオブジェクトをリスト内のタプルとして返します

世界のトップ大学からデータサイエンスコース学びましょうエグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

Pythonのデータ構造の基本的な知識を理解することが重要です。 データ業界にいるため、さまざまなデータ構造が、基盤となるアルゴリズムのより良い回避策を得るのに役立ちます。 これにより、開発者は、結果を効率的に取得するための最良のコーディング手法をより認識できるようになります。 各データ構造の使用法は状況に基づいており、厳密な練習が必要です。

データ構造の重要性は何ですか?

データ構造は、あらゆるプログラミング言語の基本的な柱の1つです。 これらは、データがメモリに格納および操作される方法を定義します。 データ構造の概念は、どのプログラミング言語について話しているかに関係なく同じです。

最も一般的なデータ構造には、配列、リスト、スタック、キュー、ツリー、ハッシュマップ、およびグラフが含まれます。 それらのいくつかは組み込みですが、他は事前定義されたデータ構造の助けを借りてユーザーが実装する必要があります。

どうすればデータ構造をしっかりと把握できますか?

データ構造の実装と動作の基本的な概念は、実行する必要のある最初のステップである必要があります。 理論的な概念に精通して作業した後、コーディングの部分から始めることができます。

作業中のアルゴリズムまたはデータ構造の時間計算量と空間計算量を常に調査する必要があります。 これにより、概念に対する適切な洞察が得られ、その特定のデータ構造を必要とする質問を解決できるようになります。

データの保存にPythonリストが優先されるのはいつですか?

リストは、さまざまなデータ型のさまざまな値を格納するために使用でき、それぞれのインデックスだけでアクセスできます。 要素に対して数学演算を実行する必要がある場合は、要素を直接数学演算できるため、リストを使用できます。

リストはサイズを変更できるため、保存する要素の数がわからない場合にデータを保存するために使用できます。