4-3.Python 数据容器 - 集合 set(集合 set 概述、集合的定义、集合的遍历、集合的常用方法)
集合 set 概述
-
集合用于存储一系列元素
-
集合存储的元素是无序的,不支持索引
-
集合存储的元素是不可以重复的
-
集合存储的元素可以是不同类型的,例如、数字、字符串、甚至是其他集合
-
集合是可变的,在程序运行时可以添加、删除其中的元素
一、集合的定义
1、基本介绍
【变量】 = {【元素 1】, 【元素 2】...}
2、演示
set1 = ("jack", "smith", "tom")print(set1)
print(type(set1))set2 = ("Hello World", 123, True)print(set2)
print(type(set2))
# 输出结果('jack', 'smith', 'tom')
<class 'tuple'>
('Hello World', 123, True)
<class 'tuple'>
二、集合的遍历
- 因为集合存储的元素是无序的,不支持索引,所以不支持【使用索引 + while 循环】遍历和【使用 enumerate 函数】遍历,只支持【使用 for 循环】遍历
my_set = (1, 2, 3, 4, 5)for item in my_set:print(item)
# 输出结果1
2
3
4
5
三、集合的常用方法
1、基本介绍
编号 | 方法 | 说明 |
---|---|---|
1 | 【集合】.add(【元素】) | 向集合内添加一个元素 |
2 | 【集合】.remove(【元素】) | 移除集合内的指定元素 |
3 | 【集合】.pop() | 从集合中取出一个元素 |
4 | 【集合】.clear() | 清空集合 |
5 | 【集合 1】.difference(【集合 2】) | 得到一个新集合,它是集合 1 和集合 2 的差集(集合 1 有而集合 2 没有的) 集合 1 和集合 2 不变 |
6 | 【集合 1】.difference_update(【集合 2】) | 在集合 1 中删除集合 2 中存在的元素 集合 1 被修改,集合 2 不变 |
7 | 【集合 1】.union(【集合 2】) | 得到一个新集合,内含集合 1 和集合 2 的全部元素 集合 1 和集合 2 不变 |
8 | len(【集合】) | 统计集合中的元素个数 |
2、演示
- add 方法
my_set = {1, 2, 3, 4, 5}my_set.add(6)print(my_set)
# 输出结果{1, 2, 3, 4, 5, 6}
- remove 方法
my_set = {1, 2, 3, 4, 5}my_set.remove(1)print(my_set)
# 输出结果{2, 3, 4, 5}
- pop 方法
my_set = {1, 2, 3, 4, 5}my_set.pop()print(my_set)
# 输出结果{2, 3, 4, 5}
- clear 方法
my_set = {1, 2, 3, 4, 5}my_set.clear()print(my_set)
# 输出结果set()
- difference 方法
my_set1 = {1, 2, 3, 4, 5}
my_set2 = {4, 5, 6, 7, 8}new_set = my_set1.difference(my_set2)print(new_set)
# 输出结果{1, 2, 3}
- difference_update 方法
my_set1 = {1, 2, 3, 4, 5}
my_set2 = {4, 5, 6, 7, 8}my_set1.difference_update(my_set2)print(my_set1)
# 输出结果{1, 2, 3}
- union 方法
my_set1 = {1, 2, 3, 4, 5}
my_set2 = {4, 5, 6, 7, 8}new_set = my_set1.union(my_set2)print(new_set)
# 输出结果{1, 2, 3, 4, 5, 6, 7, 8}
- len 方法
my_set = {1, 2, 3, 4, 5}print(len(my_set))
# 输出结果5