Set:集合
-
如果说 list 是「一串数据」,那么 set(集合)就是「一堆数据」。一串数据是有顺序性的,例如:〝甲〞、〝乙〞、〝丙〞…依序排列,而一堆数据则是随机摆放,没有固定顺序。
-
Set 要用大括号 {x, y, z } 来标示。
-
Set 的元素必须是唯一而不可重复的,如果加入重复的数据则会被合并。
-
除了使用 { } 来建立 set 之外,也可以用 set() 函式取用其他容器的元素来建立。
-
如果要建立空的 set 必须使用不加参数的 set() 来建立。
-
为了确保 set 中的「元素是不重复的」,所以不允许放入「元素可以改变」的数据,以防止未来被改变而造成重复。因此,例如:List, Set 及 dict 都不行,而其他不会改变的资料则可以,包括 tuple、string 及纯量数据(如整数)。
Set 的算符
-
由于 set 中的元素是没有顺序的,自然不可以用索引算符 [ ] 或切片的方式来存取,同时也不支持 + (串接)及 * (重复 n 次)。
-
In 和 not in 则可以使用,x in s 就是判断 x 是否为 s 中的元素。 除此之外,还有些操作如下:
例如:set_a = {1, 2, 3},set_b = {3, 4, 5}
-
比较算符 >,>=, <, <=, ==, != 也可以使用,其比较方式如下:
- 若 a 中的元素和 b 完全相同,则视为相等。
- 若 a 中的元素在 b 中都有,而且 b 还更多,则 a < b 。
Set 的方法(method)
-
s.add( x ) 可将 x 加到 set 中。
-
s.remove( x ) 可将 x 删除。
-
s.pop() 可以随机移除一个元素并将之传回。
-
s.copy() 可用来复制 set。
-
s.clear() 可清空内容。