15.集合

集合

列表、元组、字符串三个数据容器特性

  • 列表可修改、支持重复元素且有序
  • 元组、字符串不可修改、支持重复元素且有序

局限:重复元素且有序

而集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序

  • 列表使用: []
  • 元组使用: ()
  • 字符串使用: ""
  • 集合使用: {}

定义集合字面量:{元素, 元素, 元素...}

定义集合变量: 变量名称 = {元素, 元素, 元素...}

定义空集合: 变量名称 = set()

my_set = set()
print(type(my_set))

my_set = {"hello", "world", "Hello", "World", "hello", "world", "Hello", "World"}
print(my_set)  # {'world', 'hello', 'Hello', 'World'}  自带去重且无序

{'world', 'hello', 'Hello', 'World'}

集合的常用操作

因为集合是无序的,所以集合不支持:下标索引访问

但是集合和列表一样,是允许修改的,所以我们来看看集合的修改方法

  • 添加新元素

语法:集合.add(元素) 将指定元素添加到集合内

结果:集合本身被修改,添加了新元素

my_set = {"hello", "world", "Hello", "World", "hello", "world", "Hello", "World"}
my_set.add("python")
my_set.add("Python")
print(my_set)
{'Python', 'world', 'hello', 'Hello', 'python', 'World'}
  • 移除元素

语法:集合.remove(元素) 将指定元素从集合内移除

结果:集合本身被修改,移除了指定元素

my_set = {'Python', 'world', 'hello', 'Hello', 'python', 'World'}
my_set.remove("Hello")
my_set.remove("World")
my_set.remove("Python")
print(my_set)
{'world', 'hello', 'python'}
  • 从集合中随机取出元素

语法:集合.pop() 从集合中随机取出一个元素

结果:会得到一个元素的结果,同时集合本身被修改,元素被移除

my_set = {'Python', 'world', 'hello', 'Hello', 'python', 'World'}
my_set.pop()
my_set.pop()
result = my_set.pop()
print(result, my_set)
hello {'Hello', 'python', 'World'}
  • 清空集合

语法:集合.clear() 将集合清空

结果:集合本身被清空