菜鸟教程《Python 3 教程》笔记(9):集合
9 集合
集合是一组无序排列的可哈希的值。
9.1 集合的基本操作
# 集合间的运算 >>> a = set(abracadabra) >>> b = set(alacazam) >>> a { a, r, b, c, d} >>> a - b # 集合a中包含而集合b中不包含的元素 { r, d, b} >>> a | b # 集合a或b中包含的所有元素 { a, c, r, d, b, m, z, l} >>> a & b # 集合a和b中都包含了的元素 { a, c} >>> a ^ b # 不同时包含于a和b的元素 { r, d, b, m, z, l}
9.2 集合内置方法
9.2.1 add()、update()
add() 只接受可哈希的值,即不可变数据,数、字符串、元组。 update 可以接受数、字符串、元组、列表、集合。
9.2.2 pop()、remove()、discard()
pop 不具名地移除集合中的元素; remove 移除集合中的指定元素,如果元素不存在,则会发生错误 KeyError; discard 移除集合中的指定元素,如果元素不存在也不会报错。
9.2.3 difference()、differece_update()等
>>> x = { "apple", "banana", "cherry"} >>> y = { "google", "microsoft", "apple"} >>> x.difference(y) { cherry, banana} # 返回值 x - y >>> x.intersection(y) { apple} # 返回值 x & y >>> x.symmetric_difference(y) { microsoft, google, cherry, banana} # 返回值 x ^ y >>> x.union(y) # 返回值 a | b { microsoft, google, cherry, banana, apple} >>> x.difference_update(y) # 没有返回值 >>> x { banana, cherry} >>> x.add(apple) >>> x.intersection_update(y) # 没有返回值 >>> x { apple} >>> x.add({ banana, cherry}) >>> x.symmetric_difference_update(y) # 没有返回值 >>> x { microsoft, google, cherry, banana} >>> x.update({ apple}) # 没有返回值 >>> x { microsoft, google, cherry, banana, apple}
9.2.4 isdisjoint()
描述:
isdisjoint() 方法用于判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。即两者是否有交集。
9.2.5 issubset()、issuperset()
issubset() 方法用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False。即:A ⊆ B。 issuperset() 方法用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。即:A ⊇ B。