Skip to content

Latest commit

 

History

History
57 lines (50 loc) · 2.02 KB

set.md

File metadata and controls

57 lines (50 loc) · 2.02 KB

Python set集合

python的set集合是是一组无序排列,可哈希的值,和字典的key是一样的,它初始化时会声明一个空列表,然后将元素加入, 所以使用终端打印时,set返回结果是set([])

  • 支持:集合关系测试,成员关系测试,可迭代
  • 不支持:索引,元素获取,切片
  • 类型:可变 set() , 不可变 frozenset()

语法

声明

因为set()集合返回的是以列表的形式返回,所以初始化时,如果直接赋值字符串,它会把字符串转换为列表,然后加入

  • s=set() :声明一个空set集合 >> set([])
  • s=set('abc') :声明并赋值set集合 >> set(['a','c','b'])
  • s=set(['abc']):声明并赋值set集合 >> set(['abc'])

添加

因为set是无序唯一集合,所以添加重复元素是不能再次加入的

  • set.append(val) :添加元素到set集合
  • set.update(val) :添加的对象必须是可以迭代的对象,str,[],{}等,不能是int类型,它会首先把对象进行迭代然后加入到set集合中, 注意的是,对于{}字典类型,它只会操作keys.
>>> s=set()
>>> s.add(1)
>>> s
set([1])
>>> s.update('abc')
>>> s
set(['a', 1, 'c', 'b'])
>>> s.update([90,100])
>>> s
set(['a', 1, 'c', 'b', 100, 90])
>>> s.update({'key1':1,'key2':2})
>>> s
set(['a', 1, 'c', 'b', 100, 'key2', 'key1', 90])
>>> s.add(1)
>>> s
set(['a', 1, 'c', 'b', 100, 'key2', 'key1', 90])

删除

s.remove(val)使用remove()方法进行元素的删除

集合操作

集合的交集、合集(并集)、差集

举例:a=set([1,2,3]) ,b=set([3,4,5])
python符号     含义                举例
   -           差集,相对补集       a-b  >>set([1, 2])
   &           交集                a&b  >>set([3])
   |           合集,并集           a|b  >>set([1, 2, 3, 4, 5])
   !=          不等于              a!=b >>True
   ==          等于                a==b >>False
   in          是成员              1 in a >> True
   not in      不是成员            1 not in a >> False