Python執行某一類的時候,相當於執行__init__ 方法 例如:list() list __init__ set 是一個無序且不重覆的元素集合,可看做數學中的集合 用法: 1.創建集合 s = set() 創建空集合 s = set([11,22,33]) s = set('asdfghh') ...
Python執行某一類的時候,相當於執行__init__ 方法 例如:list() list __init__
set 是一個無序且不重覆的元素集合,可看做數學中的集合
用法: 1.創建集合 s = set() 創建空集合 s = set([11,22,33]) s = set('asdfghh') s = {'asd','saf'} 2.訪問集合 a in s 3.更新集合 s.add()---添加,每次只能添加一個元素 s.clear() ----清空 s.upadte()---更新集合,並賦值給s。可以迭代批量添加,相當於執行for迴圈然後重覆執行.add方法。 s.discard()---刪除指定元素,不存在不報錯 s.remove()---刪除指定元素,不存在則報錯 s.pop() -----隨機刪除元素4、聯合(|)
聯合(union)操作與集合的OR操作其實等價的,聯合符號有個等價的方法,union()。
>>> s1=set('begin') >>> s2=set('man') >>> s3=s1|s2 >>> s3 set(['a', 'b', 'e', 'g', 'i', 'm', 'n'])
5、交集(&)
與集合AND等價,交集符號的等價方法是intersection()
>>> s1&s2 set(['n']) >>> s1.intersection(s2) set(['n'])
6、查補(-)
等價方法是difference()
>>> s1-s2 # s1 - (s1 & s2) set(['i', 'b', 'e', 'g']) >>> s1.difference(s2) set(['i', 'b', 'e', 'g'])
7、對稱差分(^)
對稱差分是集合的XOR(‘異或’),取得的元素屬於s1,s2但不同時屬於s1和s2.其等價方法symmetric_difference()
>>> s1^s2 #(s1 U s2)-(s1 & s2) set(['a', 'b', 'e', 'g', 'i', 'm']) >>> s1.symmetric_difference(s2) set(['a', 'b', 'e', 'g', 'i', 'm'])
註意:集合之間and,or
>>> s1 and s2 等價於s2 set(['a', 'm', 'n']) #取 s2 >>> s1 or s2 等價於s1 set(['i', 'b', 'e', 'g', 'n']) #取 s1 >>>
五、集合、列表、元組、字元串之間轉換
>>> list(s1) ['i', 'b', 'e', 'g', 'n'] >>> str(s1) "set(['i', 'b', 'e', 'g', 'n'])" >>> tuple(s1) ('i', 'b', 'e', 'g', 'n')
***********************************************引用地址忘記了,抱歉**************************************************