ホームページ > バックエンド開発 > Python チュートリアル > リスト、タプル、セット、辞書の違いは何ですか?

リスト、タプル、セット、辞書の違いは何ですか?

Robert Michael Kim
リリース: 2025-03-19 11:52:25
オリジナル
914 人が閲覧しました

リスト、タプル、セット、辞書の違いは何ですか?

Pythonでは、可変性、順序、および含める可能性のある要素のタイプなど、その特性に基づいて異なる目的を果たすいくつかの組み込みデータ構造があります。これらのそれぞれのデータ構造を見てみましょう。

  1. リスト

    • 可変性:可変性、つまり、作成後に要素を変更、追加、または削除できることを意味します。
    • 注文:注文、要素は特定のシーケンスに保存され、その順序は依存することができます。
    • 要素:さまざまなタイプの複製要素と要素を保存できます。
    • 構文:正方形の括弧[] 、例えばmy_list = [1, 2, 3]使用して定義されています。
  2. タプル

    • 可変性:不変です。つまり、作成後に要素を変更、追加、または削除することはできません。
    • 注文:リストと同様に、要素は特定のシーケンスに保存されます。
    • 要素:さまざまなタイプの複製要素と要素を保存できます。
    • 構文:括弧() 、例えばmy_tuple = (1, 2, 3)を使用して定義されています。
  3. セット

    • 可変性:可変( set )または不変( frozenset )にすることができます。
    • 注文:順序付けられていない要素は、特定のシーケンスに保存されておらず、注文に頼ることはできません。
    • 要素:重複する要素を保存できず、ハッシュ可能である必要があります(たとえば、リストやその他のセットを含めることはできません)。
    • 構文:Curly Braces {}またはset()関数を使用して定義されてmy_set = {1, 2, 3} my_set = set([1, 2, 3])
  4. 辞書

    • 可変性:可変性、作成後にキー価値のペアを変更、追加、または削除できます。
    • 注文:Python 3.7(以前は順序付けられていない)以降に注文され、キーが挿入された順序で保存されます。
    • 要素:キーは一意であり、ハッシュ可能である必要があります。値は任意のタイプにすることができます。
    • 構文:key-valueペアを使用したcurly braces {} my_dict = {'key1': 'value1', 'key2': 'value2'}使用して定義されています。

可変で注文されたアイテムを保存するために使用する必要がありますか?

可変、注文されたアイテムを保存する必要がある場合、最良の選択はリストになります。リストは、注文を維持する必要があるアイテムのシーケンスを保存し、作成後にシーケンスを変更できるように設計されています。 append()insert()pop()remove()などのメソッドを使用して要素を追加または削除することもできます。また、個々の要素をインデックスで変更することもできます。

可変、注文されたアイテムにリストを使用する例:

 <code class="python">my_list = [1, 2, 3] my_list.append(4) # Adds 4 to the end my_list.insert(1, 1.5) # Inserts 1.5 at index 1 my_list[2] = 2.5 # Changes the value at index 2 to 2.5 print(my_list) # Output: [1, 1.5, 2.5, 3, 4]</code>
ログイン後にコピー

Pythonのキーを使用してアイテムを効率的に取得するにはどうすればよいですか?

Pythonのキーを使用してアイテムを効率的に取得するには、辞書を使用する必要があります。辞書は、高速キーベースのルックアップ用に特別に設計されており、平均時間の複雑さは要素にアクセスするためのO(1)です。これにより、関連するキーによって頻繁に値にアクセスする必要がある状況に最適です。

キーベースの検索に辞書を使用する例:

 <code class="python">my_dict = {'name': 'Alice', 'age': 30, 'city': 'New York'} print(my_dict['name']) # Output: Alice print(my_dict.get('age')) # Output: 30</code>
ログイン後にコピー

get()メソッドは、キーが見つからない場合にデフォルト値を指定できるため、特に便利です。これは、 KeyError例外を回避するのに役立つ可能性があります。

 <code class="python">print(my_dict.get('country', 'Unknown')) # Output: Unknown</code>
ログイン後にコピー

メンバーシップテストにセットを使用することのパフォーマンスへの影響は何ですか?

メンバーシップテストにセットを使用すると、パフォーマンスの大きな利点があります。セットでのメンバーシップテストの時間の複雑さは、平均してO(1)です。つまり、大規模なデータセットでは非常に効率的です。これは、セットがハッシュテーブルを使用して実装されているためです。これにより、迅速な検索が可能になります。

メンバーシップテストにセットを使用する例:

 <code class="python">my_set = {1, 2, 3, 4, 5} print(3 in my_set) # Output: True print(6 in my_set) # Output: False</code>
ログイン後にコピー

対照的に、リストのメンバーシップをチェックするには、O(n)の時間の複雑さがあり、大きなリストでは遅くなる可能性があります。これが比較です:

 <code class="python">my_list = [1, 2, 3, 4, 5] print(3 in my_list) # Output: True, but slower for larger lists</code>
ログイン後にコピー

したがって、主要な操作にアイテムがコレクションに存在するかどうかを確認する場合、セットを使用すると、特に大きなデータセットでコードのパフォーマンスが劇的に向上する可能性があります。

以上がリスト、タプル、セット、辞書の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート