集合
列表、元组、字符串三个数据容器特性
- 列表可修改、支持重复元素且有序
- 元组、字符串不可修改、支持重复元素且有序
局限:重复元素且有序
而集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序
- 列表使用: []
- 元组使用: ()
- 字符串使用: ""
- 集合使用: {}
定义集合字面量:{元素, 元素, 元素...}
定义集合变量: 变量名称 = {元素, 元素, 元素...}
定义空集合: 变量名称 = 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() 将集合清空
结果:集合本身被清空