Pythonの集合とリストの唯一の違いは、2つの集合を比較するために共用、交差、差、対称差分関数を使用できるという事実ですか?これらの関数を単純にリストに適用できないのはなぜですか?どのような状況でセットはリストよりも有用ですか?Pythonのセットとリストの違いは何ですか?
答えて
大きな違いがあります。
- セットは(セットが順不同である理由である)
- セットは、ハッシュルックアップが使用されているセット内の要素を見つけるために
- 順不同である重複を含めることはできません。これにより、リストよりも、
__contains__
(in
演算子)がより効率的になります。 - セットにはハッシュ可能なアイテムしか含めることができません(#3を参照)。試してみると、
set(([1],[2]))
はTypeError
になります。
実用的なアプリケーションでは、リストは並べ替えや順序が非常にいいですが、重複しないようにしたい場合や順序を気にしないときには使いやすいです。
はまた、あなたがなど、順序を気にしないならば、あなたはset
とlist
との交点を取得するために
new_set = myset.intersection(mylist)
を使用できることに注意してください。
いくつかのより多くの相違点は次のとおりです。
- リストセットができないのに対し、2-Dすることができます。
- リストが順序付けされている(IEはシリアル番号を持っています)リストは実行が比較的遅く、セットは高速です。
- PythonのリストはjavaまたはcのArrayのようなものです。
- セットを印刷すると、ほとんど常に異なる出力シーケンスが提供されます。
セットは、「frozenset」を使用している限り、必要なだけ多くの次元にすることができます – Copperfield
セットは別個の要素の集合を表す。動作の高速化のために
:Pythonでは、セットは、主に二つの理由(:スクラッチからのデータ・サイエンス、ジョエルGruceブック)のために使用されているではセットの非常に高速な操作です。大量の要素があり、メンバーシップテストを実行する場合は、リストの代わりにsetを使用するのが適切です。
コレクション内の別個のアイテムを見つける。プログラマは、辞書とリストよりもはるかに少ない頻度でセットを使用します。
Pythonは設定:
セットユニークなアイテムの順不同のコレクションです。 setは、中括弧{}の中にコンマで区切られた値で定義されます。セット内のアイテムは注文されません。
セットは順序付けされていないコレクションであり、インデックス付けは意味を持ちません。したがってスライス演算子[]は機能しません。
>>> a = {1,2,2,3,3,3}
>>> a
set([1, 2, 3])
>>> a[1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support indexing
Pythonのリスト:
リスト項目の順序付けられたシーケンスです。これはPythonで最もよく使用されるデータ型の1つで、非常に柔軟性があります。リスト内のすべての項目が同じタイプである必要はありません。
リストを宣言するのはかなり簡単です。コンマで区切られた項目は角かっこ[]で囲まれています。
>>> a = [1, 2.2, 'python']
スライシング演算子[]を使用して、リストから項目または項目の範囲を抽出することができます。インデックスは、Pythonでフォーム0を開始します。
リストは変更可能です。つまり、リストの要素の値を変更することができます。
- 1. リストと何か([_])と何か(_)の違い
- 2. @ + ID /アンドロイドの違いは何ですか:リストと@ + ID /リスト
- 3. PythonとのPython - これらの2つのセットの違いは?
- 4. アクティブなpythonとpythonの違いは何ですか?
- 5. データフォームwebpartと通常のリストwebpartの違いは何ですか?
- 6. Pythonでは、パスとリターンの違いは何ですか
- 7. Python対JythonとIronPythonとwxPythonの違いは何ですか?
- 8. Python classmethods:インスタンスのメンバとクラスのメンバの違いは何ですか? Pythonでは
- 9. Pythonのリストとセットを理解する
- 10. Pythonフォーマッタの `%`と `、`の違いは何ですか?
- 11. Python 3.2の** kwargsとdictの違いは何ですか?
- 12. Pythonのpycファイルとpyoファイルの違いは何ですか?
- 13. PythonスレッドモジュールのEventとLockの違いは何ですか?
- 14. Pythonの "2 * 2"と "2 ** 2"の違いは何ですか?
- 15. python sklearn:accuracy_scoreとlearning_curveのスコアの違いは何ですか?
- 16. pythonのrandom.normalvariate()とrandom.gauss()の違いは何ですか?
- 17. pythonのheapqとPriorityQueueの違いは何ですか?
- 18. python 3のiterableとlistの違いは何ですか?
- 19. Pythonの "Actor model"と "Reactor pattern"の違いは何ですか?
- 20. Pythonのリテラルと変数の違いは何ですか?
- 21. Pythonの!rと%rの違いは何ですか?
- 22. BytearrayとPythonのリストの違い
- 23. "python scriptname.py"と "scriptname.py"の違いは何ですか?
- 24. djangoパッケージとpythonライブラリの違いは何ですか?
- 25. ツイスト(Python) - 協調と共通の違いは何ですか?
- 26. Pythonマルチプロセッシング:mapとimapの違いは何ですか?
- 27. Python str(u'a ')とu'a'.encode(' utf-8 ')の違いは何ですか?
- 28. pytzとpython-dateutilの違いは何ですか?
- 29. django classonlymododとpython classmethodの違いは何ですか?
- 30. Pythonデコレータとデコレータパターンの違いは何ですか?
定義上、重複する値は含まれません。私は、Pythonは他の言語と同様に、リストに重複したエントリを入れることを想定しています。 –
これはドキュメントの中でよく説明されています。 [Sets](http://docs.python.org/tutorial/datastructures.html#sets)と[Lists](http://docs.python.org/tutorial/datastructures.html#more-on-lists) –