今天我们来总结python常用数据类型,集合的基本操作:增删改查
目录
一、集合(set)
集合的三大特点:
创建集合的两种方式:
增加元素
删除元素
查询元素
集合运算(超实用)
二、集合操作速查表
一、集合(set):不重复的无序小仓库
集合的三大特点:
- 元素不重复:自动去重,省心省力
- 无序:不能按顺序取,不能索引
- 元素必须是不可变类型:数字、字符串、元组可以,列表不行
创建集合的两种方式:
- 花括号法:
{元素1, 元素2}- set()函数:
set()创建空集合,或把其他类型转成集合
# 方式一:花括号直接创建(重复元素会自动去掉) fruits = {"苹果", "香蕉", "橙子", "苹果"} print(fruits) # 方式二:用set()函数创建空集合 empty_set = set() print(empty_set, type(empty_set)) # 把列表转成集合,自动去重 numbers = [1, 2, 2, 3, 3, 3, 4] unique_numbers = set(numbers) print(unique_numbers)关键点:空集合必须用set(),用{}创建的是空字典,这个坑别踩!
增加元素
add(元素):加一个元素update(可迭代对象):加多个元素
s = {"Python", "Java"} # add()只能加单个元素 s.add("Go") print(s) # 输出:{'Python', 'Java', 'Go'} # update()可以加多个元素 s.update(["C++", "JavaScript"]) print(s) # 输出: {'Python', 'Java', 'Go', 'C++', 'JavaScript'}关键:可迭代对象就是可以逐一遍历其元素的数据结构(是可以用在for循环中的任何对象——字符串,元组,列表。集合),set.update()方法可以将这些对象中的每个元素都添加到集合中
删除元素
remove(元素):删除指定元素,不存在会报错(不推荐)discard(元素):删除指定元素,不存在也不报错(推荐)pop():随机删一个并返回它clear():清空集合
s = {"Python", "Java", "Go", "C++"} # remove():元素不存在会报错 s.remove("Java") print(s) # 输出:{'Python', 'C++', 'Go'} # discard():元素不存在也不报错,更安全 s.discard("Go") s.discard("不存在的") # 不会报错 print(s) # 输出:{'Python', 'C++'} # pop():随机删除一个 removed = s.pop() print(f"被删掉的是:{removed}") # 输出:被删掉的是:Python print(f"剩下:{s}") # 输出:剩下:{'C++'} # clear():全部清空 s.clear() print(f"清空后:{s}") # 输出:清空后:set()关键:优先用discard(),比remove()安全一万倍!pop()随机删,clear()一键清空
查询元素
元素 in 集合:判断是否存在,存在返回True元素 not in 集合:判断是否不存在,不存在返回True
s = {"Python", "Java", "Go"} # in判断是否存在 print("Python" in s) # 在集合里 True print("JavaScript" in s) # 不在集合里 False # not in判断不存在 print("JavaScript" not in s) # True关键:集合的in查询速度比列表快得多,数据量越大优势越明显
集合运算(超实用)
方法列举:
集合1 | 集合2:并集(所有元素)集合1 & 集合2:交集(共同元素)集合1 - 集合2:差集(只在集合1里的)集合1 ^ 集合2:对称差集(只在一个集合里的)
a = {1, 2, 3, 4} b = {3, 4, 5, 6} # 并集:| print(a | b) # {1, 2, 3, 4, 5, 6} # 交集:& print(a & b) # {3, 4} # 差集:- print(a - b) # {1, 2} # 对称差集:^ print(a ^ b) # {1, 2, 5, 6}关键点:集合运算在数据处理中经常用到,比如找共同用户、不同标签等
二、集合操作速查表
操作类型 | 方法/语法 | 示例代码 | 输出结果 | 注意事项 |
创建 | 花括号 |
|
| 空集合用 |
set()转换 |
|
| 自动去重 | |
增加 |
|
|
| 只能加一个元素 |
|
|
| 可加多个 | |
删除 |
|
|
| 推荐!安全 |
|
|
| 不存在会报错 | |
|
| 随机删一个 | 返回被删元素 | |
查询 |
|
|
| 比列表快得多 |
运算 | 并集 |
| {1,2} | 合并元素 |
交集 |
|
| 共同元素 | |
差集 |
|
| 只在第一个集合 | |
对称差集 |
|
| 只在一个集合 |