集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
如果添加的元素存在,则 不进行任何操作

集合的所有方法

方法 描述
add() 为集合添加元素
clear() 移除集合中的所有元素
copy() 拷贝一个集合
difference() 返回多个集合的差集
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() 判断指定集合是否为该方法参数集合的子集。
issuperset() 判断该方法的参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() 返回两个集合的并集
update() 给集合添加元素

创建集合

方式1

  1. jsondata = set({1, 'a', 3.15})
  2. print(jsondata)
  3. #打印
  4. {'a', 1, 3.15}

方式2

  1. jsondata2={1, 'a', 3.15}
  2. print(jsondata2)
  3. #打印
  4. {'a', 1, 3.15}

创建空集合 set()

  1. jsondata = set()
  2. print(jsondata)
  3. #打印
  4. set()

添加元素 .add()

  1. jsondata2={1, 'a', 3.15}
  2. jsondata2.add('你好世界')
  3. #打印
  4. {1, 'a', '你好世界', 3.15}

添加任何数据 .update()

可以添加元素,且参数可以是列表,元组,字典等

  1. setdata = set(('你好世界','海贼王', '海王'))
  2. setdata.update(('火影忍者',))
  3. setdata.update({1,3})
  4. setdata.update([5,6],[7,8])
  5. print(setdata)
  6. #打印
  7. {'海贼王', 1, 3, 5, 6, 7, 8, '海王', '你好世界', '火影忍者'}

移除元素 .remove()

如果被指定的元素, 不存在 则会发生错误

  1. setdata = set(('你好世界','海贼王', '海王'))
  2. setdata.update(('火影忍者',))
  3. setdata.update({1,3})
  4. setdata.update([5,6],[7,8])
  5. print(setdata)
  6. setdata.remove('你好世界')
  7. print(setdata)
  8. # 打印
  9. {'火影忍者', 1, 3, 5, 6, 7, 8, '你好世界', '海贼王', '海王'}
  10. {'火影忍者', 1, 3, 5, 6, 7, 8, '海贼王', '海王'}

移除元素 .discard()

如果被指定的元素 不存在,不会发生错误

  1. setdata = set(('你好世界','海贼王', '海王'))
  2. setdata.update(('火影忍者',))
  3. setdata.update({1,3})
  4. setdata.update([5,6],[7,8])
  5. print(setdata)
  6. setdata.discard('你好世界')
  7. print(setdata)
  8. # 打印
  9. {'火影忍者', 1, 3, 5, 6, 7, 8, '你好世界', '海贼王', '海王'}
  10. {'火影忍者', 1, 3, 5, 6, 7, 8, '海贼王', '海王'}

计算集合元素个数 len()

  1. setdata = set(('你好世界','海贼王', '海王'))
  2. print(len(setdata))
  3. # 打印
  4. 3

清空集合 .clear()

  1. setdata = set(('你好世界','海贼王', '海王'))
  2. setdata.clear()

判断元素是否在集合中存在 in

  1. setdata = set(('你好世界','海贼王', '海王'))
  2. print( '你好世界' in setdata)
  3. # 打印 存在返回 True , 不存在返回 False
  4. True