序文
セット:変数のデータ型が、不変でなければならないデータ要素のタイプは、障害、缶ハッシュを繰り返しません。変更することはできませんのpythonのコレクションだから、唯一の追加および削除チェックします。
ハッシュ可能、不変のデータ型:タプル、BOOL、INT、STR
まず、によって
1、それは乱れているので、各プリントはランダムのこぎり新しい場所で、追加
#1、追加、乱れ、ランダム SETL = { ' 天'、' トラ' } set1.add(' ロング' ) プリント(SETL)
新しい要素に応じて2、更新、
#2、更新 SET1 = { ' 天'、' 小龙' } set1.update(' AB ' ) プリント(SET1)
第二に、削除
1、ポップ()の削除
#1、POP()を削除 SETL = { ' 天'、' トラ'、' 小' } 印刷(set1.pop()) #ランダムに削除し、戻り値が 印刷(SETL)
図2に示すように、要素によって削除削除します
#2、要素の削除による削除 SETL = { ' 天'、' トラ'、' 小' } set1.remove(' 天' ) プリント(SETL)
3、明確な空
# 3、清空 set1 = {'tian', '小龙', 'xiao'} set1.clear() print(set1)
4、del 删除,没有返回值
# 4、del 删除,没有返回值 set1 = {'tian', '小龙', 'xiao'} del set1
三、查
1、交集、并集、反交集、差集,可bool、int、str
set1 = {4, 5, 6, 7, 8} set2 = {12, 1, 5, 7, 9} print(set1 & set2) # 交集 print(set1 | set2) # 并集,去重 print(set1 ^ set2) # 反交集 print(set1 - set2) # 差集
2、子集、超集,返回:bool
set1 = {1, 2, 3} set2 = {1, 2, 3, 4, 5} print(set1 < set2) # 子集,set1 是 set2的子集 print(set2 > set1) # 超集,set2 是 set1的超集
3、有个需求将列表的数据去重,不改变原来的类型。(PS:1.二次转换;2.frozenset)
① 列表转换为集合,集合再转回列表
li = [1,2,33,33,2,1,4,5,6,'a','a'] # # 将列表转换为集合,集合再转回列表即可 s = set(li) print(list(s))
② frozenset
li = [] s = frozenset([1,2,33,33,2,1,4,5,6,'a','a']) print(s, type(s)) for i in s: li.append(i) print(li)
你更喜欢哪种呢?欢迎来QQ交流群:482713805