Python 3の集合set
21480 ワード
文書ディレクトリ Python 3の集合set 集合 重量除去原理 声明 一般的な操作関数 増加 クリアセット 削除 その他の setの操作関数 Python 3の集合set
##需要シーン私達は1組のデータを保存する必要があって、しかし重複するデータを保存することを望みません!ユーザーのアカウント!
しゅうごう
ハッシュアルゴリズムにより、1つのコンテナに順序のない重複できない複数のデータを格納する.【無秩序・重複しない】
Listの特徴:要素には入れ順があり、要素は繰り返すことができる.Setの特徴:元素は順序を入れないで、元素は繰り返してはいけない(注意:元素は順序を入れないが、しかし元素のsetの中の位置はこの元素のHashCodeが決定したので、その位置は実は固定したのです.
例:チェーンテーブルとハッシュテーブルの違い.データ構造を学んだことがあるなら、チェーンテーブルの特性を知っています.listはチェーンテーブルsetがハッシュテーブルであり、ハッシュ値でアクセスするので、理論的なアクセス時間の複雑さはO(1)です.
げんじゅうげんり
setのデウェイトは2つの関数__でhash__および_eq__結合して実現した.1、2つの変数のハッシュ値が同じでない場合、この2つの変数は異なると考えられる.2、2つの変数のハッシュ値が同じ場合、呼び出し_eq__メソッドでは、戻り値がTrueの場合、この2つの変数は同じであり、1つを除去する必要があります.FALSEに戻った場合は、重さを取りません.
宣言 set()方式 {}方式
一般的な操作関数
ふえる'add'は単一のデータを増加させ、戻り値はありません. update(x)は、複数のデータを追加し、戻り値がありません.
s.update(「文字列」)は、文字列をセットに追加します.s.update(「文字列」)文字列を単一文字に分割した後、コレクションに追加します.重複すると無視されます.
addとupdateの集合addメソッド:入力する要素を全体として集合に追加します.集合updateメソッド:入力する要素を分割し、個体として集合に転送します.
クリアコレクション'clear'クリア
削除'pop'はランダムに1つ削除され、削除された要素 を返します. remove(x)は、エラーがなく、戻り値がないデータを削除することを指定します. discard(x)あるデータを削除し、エラーを報告せず、戻り値がない.
その他'copy'レプリケーション 'difference'の2つのセット間の差を求めるセット 'difference_update’は差分セットを求め、異なるデータで自分に を再付与する. 'intersection_update’は交差を求めて自分に を割り当てます'union'は並列セットを求め、'update'は並列セットを求め、自分に値を付与する.
コレクション:pythonに組み込まれた組合せデータ型の1つで、setは順序のない重複できない複数のデータを格納することを表す.hashアルゴリズムで追加したデータを繰り返さないようにします!
setの操作関数
##需要シーン私達は1組のデータを保存する必要があって、しかし重複するデータを保存することを望みません!ユーザーのアカウント!
しゅうごう
ハッシュアルゴリズムにより、1つのコンテナに順序のない重複できない複数のデータを格納する.【無秩序・重複しない】
Listの特徴:要素には入れ順があり、要素は繰り返すことができる.Setの特徴:元素は順序を入れないで、元素は繰り返してはいけない(注意:元素は順序を入れないが、しかし元素のsetの中の位置はこの元素のHashCodeが決定したので、その位置は実は固定したのです.
例:チェーンテーブルとハッシュテーブルの違い.データ構造を学んだことがあるなら、チェーンテーブルの特性を知っています.listはチェーンテーブルsetがハッシュテーブルであり、ハッシュ値でアクセスするので、理論的なアクセス時間の複雑さはO(1)です.
げんじゅうげんり
setのデウェイトは2つの関数__でhash__および_eq__結合して実現した.1、2つの変数のハッシュ値が同じでない場合、この2つの変数は異なると考えられる.2、2つの変数のハッシュ値が同じ場合、呼び出し_eq__メソッドでは、戻り値がTrueの場合、この2つの変数は同じであり、1つを除去する必要があります.FALSEに戻った場合は、重さを取りません.
宣言
s1 = set() <class ‘set’>
s2 = {“a”} <class ‘set’>
s3 = {} <class ‘dict’> #
>>> thisset = set(("Google", "Runoob", "Taobao"))
>>> type(thisset)
<class 'set'>
>>> thisset
{'Taobao', 'Google', 'Runoob'}
>>>
一般的な操作関数
ふえる
>>> a = {1, 2, 3}
>>> a.add(5)
>>> a
{1, 2, 3, 5}
>>>
>>> a.add(7,8)
Traceback (most recent call last):
File "" , line 1, in <module>
TypeError: add() takes exactly one argument (2 given)
>>>
s.update(「文字列」)は、文字列をセットに追加します.s.update(「文字列」)文字列を単一文字に分割した後、コレクションに追加します.重複すると無視されます.
>>> thisset
{'Taobao', 'Google', 'Runoob'}
>>>
>>> thisset.update(('Taobao', 1, 2))
>>> thisset
{1, 2, 'Google', 'Runoob', 'Taobao'}
>>> a = thisset.update(3) #
Traceback (most recent call last):
File "" , line 1, in <module>
TypeError: 'int' object is not iterable
>>>
>>>> a = thisset.update('a', 'b')
>>> thisset
{1, 2, 'Google', 'Runoob', 'a', 'b', 'Taobao'}
>>>
>>>
addとupdateの集合addメソッド:入力する要素を全体として集合に追加します.集合updateメソッド:入力する要素を分割し、個体として集合に転送します.
>>>a = set('boy')
>>>a
{'b', 'o', 'y'}
>>>a.add('girl')
>>>a
{'girl', 'b', 'o', 'y'}
>>>a.update('the')
>>>a
{'h', 'y', 'o', 'girl', 'e', 'b', 't'}
クリアコレクション
>>> a
{1, 2, 3, 5, 9}
>>>
>>> a.clear() #
>>> a
set() #
>>>
削除
>>> a
{'h', 'y', 'o', 'girl', 'e', 'b', 't'}
>>> a.pop()
'h'
>>> a
{'y', 'o', 'girl', 'e', 'b', 't'}
>>> a.remove('y')
>>> a
{'o', 'girl', 'e', 'b', 't'}
>>>
>>>
>>> a.remove('aa')
Traceback (most recent call last):
File "", line 1, in <module>
KeyError: 'aa'
>>> a.discard('aa')
>>> a.discard('o')
>>> a
{'girl', 'e', 'b', 't'}
>>>
その他
コレクション:pythonに組み込まれた組合せデータ型の1つで、setは順序のない重複できない複数のデータを格納することを表す.hashアルゴリズムで追加したデータを繰り返さないようにします!
setの操作関数
>>> dir(set)
['__and__', '__class__', '__contains__',
'__eq__','__gt__', '__hash__','__iand__',
'__init__', '__isub__','__lt__', '__ne__',
'__new__', '__or__','__repr__',
'__ror__', '__rsub__', '__rxor__',
'add','difference_update', 'discard',
'intersection', 'issuperset', 'pop',
'remove','symmetric_difference_update',
'union', 'update']
>>>