資料型分類とset&frozenset
4233 ワード
データ分類
シーケンスタイプ(sequence type)リスト:listクラスのオブジェクト の例:tupleクラスのオブジェクト 範囲:オブジェクト 、範囲クラス文字列:strクラスのオブジェクト
ターゲットアクションインデックス演算:特定の値を参照する演算 スムーズ演算:始点と終点を定義し、それらを参照する演算 ディックシリーズ:dictクラスのオブジェクト
マッピングタイプは、格納値の順序や位置情報を記録しないデータ型です.
このため、インデックスやスライド操作はできません. セットタイプ(settype)セット(set):setクラスのオブジェクト エンベロープ済み:エンベロープクラス内のオブジェクト
コレクションを表すデータ型
保存順序は保持されず、重複値の保存は許可されません. set, frozenset
きほんえんざん
≪コレクション|Assembly|emdw≫:2つのコレクション内のすべての要素のコレクション.
≪差分セット|Difference Set|oem_src≫:あるセットから別のセットの要素のセットを減算します.
交差:2つの集合に共通する要素の集合
対称差セットたいしょうさぶれっと:2つのセットの和セットから交差を減算したセット
set
この{}内では、キー類であればディック電池となる. setと凍結setの違い
set:可変オブジェクト
フリーズセットフリーズセットフリーズセット:可変オブジェクトふへんぶじぇくと
すなわち、setは新しい値を追加または削除できますが、setを凍結することはできません.
しゅうごうえんざん add:要素を追加 廃棄:要素削除 update,|=:他のすべてのセットの要素 を追加交点update,&=:他のセットと同じ要素 のみを保持差異update,-=:他のすべてのセットの要素 を削除対称different update,^=:汎用でないものを追加し、残りの を削除
シーケンスタイプ(sequence type)
문자열의 경우 텍스트 시퀀스 타입(text sequence type)이라 부르지만,
이 역시 시퀀스 타입의 일종이다.
シーケンスタイプの特徴は、格納値の順序情報(位置情報)が存在することである.ターゲットアクション
s[0], s[1], s[2]
s[0:3], s[5:9]
マッピングタイプ(マッピングタイプ)マッピングタイプは、格納値の順序や位置情報を記録しないデータ型です.
このため、インデックスやスライド操作はできません.
コレクションを表すデータ型
保存順序は保持されず、重複値の保存は許可されません.
きほんえんざん
≪コレクション|Assembly|emdw≫:2つのコレクション内のすべての要素のコレクション.
≪差分セット|Difference Set|oem_src≫:あるセットから別のセットの要素のセットを減算します.
交差:2つの集合に共通する要素の集合
対称差セットたいしょうさぶれっと:2つのセットの和セットから交差を減算したセット
A = {'a', 'c', 'd', 'f'}
B = {'a', 'b', 'd', 'e'}
A - B # A에 대한 B의 차집합
> {'c', 'f'}
A & B # A와 B의 교집합
> {'d', 'a'}
A | B # A와 B의 합집합
> {'e', 'f', 'd', 'a', 'b', 'c'}
a ^ B # A와 B의 대칭 차집합
> { 'e', 'f', 'b', 'c' }
例に示すように、{}を使用してコレクションを使用できます.set
A = set(['a','c','d','f']) # set 함수에 iterable 객체 전달해서 set 생성
B = set('fdca') # 문자열도 iterable 객체이므므로 set 생성 가능
A=B # 내용 비교
> False
'a' in A
> True
'b' not in A
True
for c in A & B:
print(c, end = ' ')
> d c f a
ディック・シャナリーと同じように見えるかもしれませんが、この{}内では、キー類であればディック電池となる.
d = {}
type(d)
> <class 'dict'>
s = set()
type(s)
> <class 'set'>
FrozensetA = frozenset(['a','c','d','f']) # frozenset 함수에 iterable 객체 전달해서 frozenset 생성
B = frozenset(['a', 'b', 'd', 'e']) # 문자열도 iterable 객체이므므로 frozenset 생성 가능
A - B
> frozenset({'c', 'f'})
A | B
frozendset({'e', 'f', 'd', 'a', 'b', 'c'})
A=B # 내용 비교
> False
'a' in A
> True
'b' not in A
True
for c in A & B:
print(c, end = ' ')
> d a
set typeで重複が許されない特性の結果を使用します.t = [3, 3, 3, 7, 7, 'z', 'z']
t = list(set(t))
> [3, 'z', 7]
set:可変オブジェクト
フリーズセットフリーズセットフリーズセット:可変オブジェクトふへんぶじぇくと
すなわち、setは新しい値を追加または削除できますが、setを凍結することはできません.
os = {1, 2, 3, 4, 5}
os.add(6) # 추가
> {1, 2, 3, 4, 5, 6}
os.discard(1) # 삭제
> {2, 3, 4, 5, 6}
os.update({7, 8, 9}) # 전부 추가
> {2, 3, 4, 5, 6, 7, 8, 9}
os &= {2, 4, 6, 8} # 교집합
> {8, 2, 4, 6}
os -= {2, 4} # 차집합
> {6, 8}
os ^= {1, 3, 6} # 대칭 차집합
> {1, 3, 8}
しゅうごうけいさんs1 = {x for x in range(1, 11)}
> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
s2 = {x**2 for x in s1}
> {64, 1, 4, 36, 100, 9, 16, 49, 81, 25}
s3 = {x for in s2 if x < 50}
> {1, 4, 36, 9, 16, 49, 25}
set typeは順番に並べない特性です.Reference
この問題について(資料型分類とset&frozenset), 我々は、より多くの情報をここで見つけました https://velog.io/@aopd48/자료형-분류와-set-frozensetテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol