【python/データ構造】パスワードの設定に使える集合を徹底解説!

python

この記事ではpythonの集合について解説して行きます。

この記事で学べる事

  • 集合の使い方
  • inとnot inについて
  • 集合に要素を追加・削除する方法

集合とは

集合とは指定した値が含まれているかを瞬時に判断するデータ構造です。

集合はある値が含まれているかどうか高速で判定したいときに役立ちます。

そして、集合では同じ値を重複して格納することが出来ません

また、集合ではリストやタプルと違い値の順序がランダムになるので覚えて置いてください。

以下は広告です。

集合の作成方法

集合の作成方法は{}(波括弧)に値をカンマで区切って作成します。

※注意点として値が0個の場合はsetと書くので間違えないようにしましょう。

#集合の作成
{値, 値, …} ←【値が2つ以上の時】
{値} ←【値が1つの時】
set() ←【値が無い時】

次に実際に集合を使ってみます。

例題として変数fruitsに’apple’, ‘banana’, ‘orange’を入れてみます。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>print(fruits)
#表示結果
{'apple', 'orange', 'banana'}

集合を作成することが出来ました。

set関数

set関数とはイテラブルから集合を作成することができます。

#set関数
set(イテラブル)

set関数も実際にプログラムを書いてみます。

例題として‘abcde’を格納した集合を作成してみます。

#例題
print(set('abcde'))
#表示結果
{'b', 'e', 'a', 'c', 'd'}

set関数でも集合を作成することが出来ました。

以下は広告です。

in演算子とnot in演算子

特定の値を判定を行う演算の事を所属検査演算(メンバーシップテスト演算)といいます。

所属検査演算にはinnot inという演算子を使います。

in演算子は値が集合に含まれている時にTrueと出力し、not in演算子は値が集合に含まれていない時にTrueと出力します。

in演算子の使い方

まずはin演算子について解説していきます。

#in演算子の使い方
値 in 集合

次に例題を書いてみます。

例題として変数fruitsの中に’apple’があるかを調べるプログラムを書いてみます。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>print('apple' in fruits)
#表示結果
True

今回は’apple’があるのでTrueが表示されました。

not in演算子

次にnot in演算子の解説をしていきます。

#not in演算子の使い方
値 not in 集合

次に例題を書いてみます。

例題として変数fruitsの中に’apple’があるかを調べるプログラムを書いてみます。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>print('apple' not in fruits)
#表示結果
False

not inでは’apple’が変数fruitsに入っているので表示結果はFalseになります。

集合の要素の追加・削除

次は集合の要素の追加と削除を解説していきます。

集合はミュータブルなので要素の追加・削除が可能です。

ミュータブルの事を知りたい方は以下の記事をご覧ください。

【初心者必見/基本的な文法4】文字列を徹底解説!

要素の追加

まず初めに要素の追加方法を解説します。

集合の要素の追加はaddメソッド累算代入文を使って追加することができます。

累算代入文について知りたい方は以下の記事をご覧ください。

【初心者必見/基本的な文法3】数値を使った計算、演算子の使い方を解説!

addメソッド

まず初めにaddメソッドを解説します。

addメソッドは1つの値を追加することに向いています。

#addメソッドの使い方
集合.add(値)

次に例題を書いてみます。

例題として変数fruitsに’lemon’を追加してみます。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>fruits.add('lemon')
>>>print(fruits)
#表示結果
{'orange', 'apple', 'lemon', 'banana'} 

addメソッドで’lemon’を追加することが出来ました。

累算代入文

次に累算代入文を解説します。

累算代入文は複数の値を追加することに向いています。

#累算代入文の使い方
集合 |= {値, 値, …}

次に例題を書いてみます。

例題として変数fruitsに’lemon’と’cherry’を解説します。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>fruits |= {'lemon', 'cherry'}
>>>print(fruits)
#表示結果
{'banana', 'lemon', 'orange', 'apple', 'cherry'}

累算代入文で’lemon’と’cherry’を追加することが出来ました。

以下は広告です。

要素の削除

次に集合から要素を削除する方法を4つ紹介します。

removeメソッド

初めにremoveメソッドを解説します。

#removeメソッドの使い方
集合.remove(値)

次に例題を書いてみます。

例題として変数fruitsから’apple’を削除してみます。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>fruits.remove('apple')
>>>print(fruits)
#表示結果
{'orange', 'banana'}

removeメソッドで’apple’を削除することが出来ました。

discardメソッド

次にdescardメソッドを解説します。

#discardメソッドの使い方
集合.discard(値)

次に例題を書いてみます。

例題として変数fruitsから’apple’を削除してみます。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>fruits.discard('apple')
>>>print(fruits)
#表示結果
{'orange', 'banana'}

discardメソッドで’apple’を削除することが出来ました。

累算代入文

次は累算代入文について解説します。

累算代入文は複数の値を同時に削除することができます。

#累算代入文
集合 -= {値, 値, …}

次に例題を書いてみます。

例題として変数fruitsの’apple’と’orange’を削除してみます。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>fruits -= {'apple', 'orange'}
>>>print(fruits)
#表示結果
{'banana'}

累算代入文で’apple’と’orange’を削除することが出来ました。

clearメソッド

最後にclearメソッドを解説します。

clearメソッドは全ての要素を削除することができます。

#clearメソッド
集合.clear()

次に例題を書いてみます。

例題として変数fruitsから全ての要素を削除してみます。

#例題
>>>fruits = {'apple', 'banana', 'orange'}
>>>fruits.clear()
>>>print(fruits)
#表示結果
set() 

clearメソッドで全ての要素を削除することが出来ました。

以下は広告です。

まとめ

今回は集合の基本的な使い方を解説しました。

集合はログインのパスワードなどに使われることがあるので覚えて置くといいと思います。

最後までお読みいただきありがとうございました。

タイトルとURLをコピーしました