Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonセット:ガイド

多くの場合、データを操作するときは、重複する値を含めることができず、値を変更できないデータのリストを保存する必要があります。たとえば、食料品店で購入IDのリストを作成する場合は、各IDを一意にし、リスト内の値をだれも変更できないようにする必要があります。

そこで、Pythonセットオブジェクトが登場します。セットは、一意の値のみを含むことができる順序付けられていないアイテムのコレクションです。

このチュートリアルでは、例を参照して、Pythonセットの基本と、セットの値の追加や削除などの一般的な操作を実行する方法について説明します。

Pythonセット

Pythonに組み込まれているセットのデータ構造は、数学のセットの考え方に似ています。

Pythonセットには、0個以上の要素を含めることができ、セット内の各要素に定義された順序はありません。セット内に格納されているすべての要素は一意であるため、重複が存在することはなく、セット内の個々の値を変更することはできません。

セット内の個々の値は変更できませんが、セット自体は変更できます。これは、セットからアイテムを追加または削除できることを意味します。

セット構造は、セットに格納したデータを処理するために使用できるいくつかの数学演算が付属しているため、便利です。

Pythonセットを作成する

Pythonでは、セットはコンマで区切られたアイテム(または「要素」)のリストとして定義されます。次に、リストは中括弧({})で囲まれます。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

Pythonセットは任意の数のアイテムを格納でき、セット内の各アイテムは異なるデータ型を使用できます。したがって、セットには、整数または文字列、あるいは文字列、float、およびタプルの両方を格納できます。ただし、セットは、別のセット、ディクショナリ、リストなどの可変データ型を格納できません。

学生が英語のクラスに提出した宿題のリストを格納するセットを作成するとします。このセットは、次のコードを使用して作成できます。

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"}
print(assignments)

私たちのコードは次を返します:

{「ワークシート#5」、「ワークシート#4」、「ワークシート#7」、「トピックレビューの終わり#2」}

このコードでは、assignmentsというセットを定義しました。 これには4つの値があります。次に、コンソールに設定された課題の内容を印刷しました。セットは特定の順序でアイテムを格納しないため、値がランダムな順序で返されることがわかります。

セットの変更

セットを作成した場合、セット内のアイテムの値を変更することはできません。ただし、セットにアイテムを追加したり、セットからアイテムを削除したりすることはできます。

セットにアイテムを追加する

Pythonセットに要素を追加するには、add() を使用できます。 方法。生徒がWorksheet #8を渡したとします。 セットを更新して、提出された生徒の課題を追跡したいと思います。次のコードを使用してこれを行うことができます。

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"}

assignments.add("Worksheet #8")
print(assignments)
>

私たちのコードは次を返します:

{「ワークシート#8」、「ワークシート#4」、「ワークシート#5」、「トピックレビューの終わり#2」、「ワークシート#7」}

ご覧のとおり、Worksheet #8 セットに追加されました。

さらに、セットに複数のアイテムを追加する場合は、update()を使用できます。 方法。 update() メソッドは、セットに追加するアイテムのリストをパラメーターとして受け入れ、それらのアイテムをセットに追加します。

生徒がワークシート#8と#9の両方を提出したとします。このコードを使用して渡されるこれらの新しい割り当てを反映するようにセットを変更できます。

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7", "End of Topic Review #2"}

assignments.update(["Worksheet #8", "Worksheet #9"])
print(assignments)

私たちのコードは次を返します:

{「ワークシート#9」、「トピックレビューの終わり#2」、「ワークシート#8」、「ワークシート#7」、「ワークシート#4」、「ワークシート#5」}

これで、セットに2つの新しい値が含まれます:Worksheet #8 およびWorksheet #9

セットから要素を削除する

セットから要素を削除するには、discard()を使用できます またはremove()

discard() 関数はセットからアイテムを削除し、アイテムがセットに存在しない場合は何も返しません。 remove() 関数はセットからアイテムを削除しようとします。そのアイテムが存在しない場合、エラーが発生します。

Worksheet #9を削除するとします。 生徒が宿題をやり直すように求められたため、宿題の記録から。このコードを使用してこれを行うことができます。

assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'}

assignments.discard("Worksheet #9")
print(assignments)

私たちのコードは次を返します:

{「トピックレビュー#2の終わり」、「ワークシート#5」、「ワークシート#4」、「ワークシート#8」、「ワークシート#7」}

値がWorksheet #9であることがわかります セットから削除されました。これは、discard()を使用して実現しました。 方法。

セットをクリアする

セットをクリアするには、clear()を使用できます 方法。年末になり、情報を保存する必要がなくなったため、生徒の課題の記録を消去したいとします。このコードを使用してこれを行うことができます。

assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'}

assignments.clear()
print(assignments)

コードは次を返します:{}。これは空のセットを反映しています。

セットの長さを返す

セットに保存されているアイテムの数を確認するには、len() を使用できます。 方法。

学生が提出した宿題の数を調べたいとします。次のコードを使用してこれを行うことができます。

assignments = {'Worksheet #9', 'End of Topic Review #2', 'Worksheet #8', 'Worksheet #7', 'Worksheet #4', 'Worksheet #5'}
print(len(assignments))

コードは次のようになります。6。コードでは、最初にassignmentsというセットを宣言します。 。次に、len() を使用します assignmentsに保存されているアイテムの数を確認するメソッド セットする。

Pythonセット操作

セットを使用してデータを格納することの利点の1つは、セットが数学的なセット操作をサポートすることです。 3つの主要なセット操作がどのように機能するかを見ていきましょう。

これらの設定操作は変更されません セットの内容。代わりに、既存のセットに対して計算を実行します。

セットユニオン

union() メソッドを使用すると、2つのセットからすべての要素のセットを作成できます。

一緒にマージしたい生徒の課題のリストが2つあるとします。 1つのリストには生徒の宿題に関するデータが含まれ、もう1つのリストには生徒が完了したエッセイの課題のリストが含まれます。このコードを使用して、これらのリストをマージできます。

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7"}
essays = {"Essay #1", "Essay #2"}

homework = assignments.union(essays)
print(homework)

私たちのコードは次を返します:

{「ワークシート#7」、「エッセイ#2」、「ワークシート#4」、「エッセイ#1」、「ワークシート#5」}

このコードでは、union()を使用します 2つのセットをマージする方法。新しくマージされたセットの値を変数homeworkに割り当てます 。次に、homeworkの値を出力しました 変数。

または、次のコードを使用することもできます。

assignments = {"Worksheet #4", "Worksheet #5", "Worksheet #7"}
essays = {"Essay #1", "Essay #2"}

print(assignments | essays)

「|」演算子は和集合演算を実行します。このコードは、マージされたセットを返します。

{「エッセイ#2」、「ワークシート#4」、「ワークシート#5」、「エッセイ#1」、「ワークシート#7」}

交差点を設定

intersection() メソッドを使用すると、2つのセットに共通する要素のリストを生成できます。

学生が提出したエッセイのリストと、発行されたエッセイのリストがあるとします。学生がまだ提出していないエッセイを知りたい場合は、交差法を実行できます。

使用するコードは次のとおりです。

essays_handed_in = {"Essay #1", "Essay #2"}
essays_issued = {"Essay #1", "Essay #2", "Essay #3"}

due = essays_handed_in.intersection(essays_issued)
print(due)

私たちのコードは次を返します:

{「エッセイ#1」、「エッセイ#2」}

この例では、intersection() を使用します essays_handed_inの両方に存在するすべての要素を検索するメソッド およびessays_issued セット。交差演算の結果を変数dueに割り当てます 、次にコンソールに出力します。

さらに、&を使用できます 交差点の設定操作を実行する演算子。したがって、以前の2つのセットで交差を実行する場合は、次のコードを使用できます。

essays_handed_in = {"Essay #1", "Essay #2"}
essays_issued = {"Essay #1", "Essay #2", "Essay #3"}

print(essays_handed_in & essays_issued)

私たちのコードは次を返します:

{「エッセイ#1」、「エッセイ#2」}

差を設定

difference() メソッドを使用すると、あるセットに存在し、別のセットには存在しない要素を見つけることができます。

学生が提出し、まだ採点されていないすべてのエッセイのリストを生成したいとします。このコードを使用してこれを行うことができます。

essays_handed_in = {"Essay #1", "Essay #2"}
essays_graded = {"Essay #1"}

final = essays_handed_in.difference(essays_graded)
print(final)

私たちのコードは次を返します:

{「エッセイ#2」}

このコードでは、difference()を使用しました essays_handed_inの違いを見つける方法 およびessays_graded セット。または、-を使用することもできます 演算子、そのように:

essays_handed_in = {"Essay #1", "Essay #2"}
essays_graded = {"Essay #1"}
print(essays_handed_in - essays_graded)

私たちのコードは次を返します:

{「エッセイ#2」}

同じ結果がコードに返されます。ただし、difference()を使用する代わりに setメソッド、-を使用しました 演算子。2つのセットの違いを見つけるためのチェックを実行します。

結論

Pythonセットのデータ構造を使用すると、順序付けされていないアイテムのコレクションを保存できます。

セット内の各アイテムは一意である必要があるため、重複が存在することはできません。また、セットに追加されたセットの内容を変更することはできません。

このチュートリアルでは、例を参照して、Pythonセットの基本と、セットによって提供される主な操作について説明しました。

セットでできることのほんの一部にすぎませんが、まだまだ探求することがありますが、セットを効果的に使用するために知っておく必要のある主なスキルについては説明しました。これで、Pythonのset()の使用を開始する準備が整いました。 プロのような方法!


Pythonは、データ分析からWeb開発まで、世界中の専門能力開発環境で使用されています。 をダウンロードします 無料のキャリアカルマアプリ 今日、Pythonプログラミングのキャリアパスについて詳しく学びましょう。


  1. Pythonセット操作。

    数学では、集合はそれ自体がオブジェクトと見なされる別個のオブジェクトのコレクションです。たとえば、2、4、6の数字は、別々に考えると別個のオブジェクトですが、まとめて考えると、{2,4,6}と書かれたサイズ3の単一のセットを形成します。 セットの操作 操作 表記 意味 交差点 A∩B との両方にあるすべての要素 ユニオン A∪B いずれかまたは(または両方)にあるすべての要素 違い A − B 含まれているが含まれていないすべての要素 補完 (または) 含まれていないすべての要素 Pythonでは、リストと比較して、セットを使用する主な利点は、特定の要素がセットのメンバー

  2. Pythonセット

    Pythonセットは、順序付けされていないを含むコレクションタイプです。 ユニークのコレクション および不変 オブジェクト。つまり、Pythonセットは重複するアイテムを保持できず、セットが作成されると、アイテムを変更することはできません。 注:セットのアイテムは不変です。つまり、アイテムを変更することはできません。ただし、セット自体は変更可能です。つまり、セットにアイテムを追加したり、セットからアイテムを削除したりできます。 順序は維持されません。たとえば、同じセットを印刷するたびに、アイテムの順序が異なる場合があります。 Pythonでは、セットは中括弧{}を使用して構築されます セッ