目录

集合

定义与特点

定义空集合

集合操作

集合操作汇总表

字典

定义与特点

定义空字典

字典操作

字典操作汇总表

数据容器通用操作

统计元素个数

检索最大值

检索最小值

类型转换

排序功能

注意事项


集合

定义与特点

集合(Set)是Python中一种无序、可变的数据类型,用于存储唯一的元素。集合中的元素必须是不可变类型(如数字、字符串、元组),但集合本身是可变的。集合的主要特点包括:

  • 元素唯一性:集合中不允许重复元素。
  • 无序性:集合中的元素没有固定顺序。
  • 支持数学上的集合操作(如并集、交集等)。
定义空集合

空集合必须使用set()函数定义,直接使用{}会创建一个空字典。

empty_set = set()  # 正确定义空集合

集合操作

集合支持多种操作,以下是一些常见操作的示例:

创建集合

fruits = {"apple", "banana", "cherry"}

添加元素

fruits.add("orange")  # 添加单个元素
fruits.update(["mango", "grape"])  # 添加多个元素

删除元素

fruits.remove("banana")  # 如果元素不存在会报错
fruits.discard("banana")  # 元素不存在不会报错
fruits.pop()              #随机取出一个元素

集合运算

set1 = {1, 2, 3}
set2 = {3, 4, 5}

# 并集
union_set = set1.union(set2)  # 或使用 set1 | set2
print(union_set)  # 输出: {1, 2, 3, 4, 5}

# 差集
difference_set = set1.difference(set2)  # 或使用 set1 - set2
print(difference_set)  # 输出: {1, 2}

# 交集
intersection_set = set1.intersection(set2)  # 或使用 set1 & set2
print(intersection_set)  # 输出: {3}

# 对称差集
symmetric_diff = set1.symmetric_difference(set2)  # 或使用 set1 ^ set2
print(symmetric_diff)  # 输出: {1, 2, 4, 5}

其他操作

# 统计长度
length = len(fruits)  # 输出: 4

# 清空集合
fruits.clear()

# 检查元素是否存在
print("apple" in fruits)  # 输出: True

集合操作汇总表
操作方法运算符说明
并集union()``
差集difference()-返回第一个集合独有的元素
交集intersection()&返回两个集合共有的元素
对称差集symmetric_difference()^返回两个集合独有的元素
更新差集difference_update()-=原地修改集合为差集
添加元素add()-添加单个元素
添加多个元素update()-添加多个元素
删除元素remove()/discard()-删除元素
取出元素pop()-随机取出元素
长度统计len()-返回集合元素数量

字典

定义与特点

字典(Dictionary)是Python中一种无序、可变的数据类型,用于存储键值对。字典的主要特点包括:

  • 键唯一性:字典中的键必须是唯一的。
  • 无序性:字典中的键值对没有固定顺序。
  • 键必须是不可变类型(如数字、字符串、元组)。
定义空字典

空字典可以使用{}或dict()定义。

empty_dict = {}  # 或 empty_dict = dict()

字典操作

字典支持多种操作,以下是一些常见操作的示例:

创建字典

person = {"name": "Alice", "age": 25, "city": "New York"}

访问元素

print(person["name"])  # 输出: Alice
print(person.get("age"))  # 输出: 25

修改元素

person["age"] = 26  # 修改年龄

添加元素

person["gender"] = "female"  # 添加新键值对

删除元素

person.pop("city")  # 删除指定键值对
del person["age"]  # 删除指定键值对

其他操作

# 统计长度
length = len(person)  # 输出: 2

# 获取所有键
keys = person.keys()

# 获取所有值
values = person.values()

# 获取所有键值对
items = person.items()

字典操作汇总表
操作方法说明
创建{}或dict()定义空字典
访问dict[key]或get()通过键访问值
修改dict[key] = value修改键值对
添加dict[key] = value添加新键值对
删除pop()或del删除键值对
长度len()返回字典长度
获取键keys()返回所有键
获取值values()返回所有值
获取键值对items()返回所有键值对

数据容器通用操作

统计元素个数

使用len()函数可获取容器内元素数量
示例代码:

my_list = [1, 2, 3]
print(len(my_list))  # 输出3

检索最大值

max()函数返回容器中的最大元素
适用场景:

  • 数字类型直接比较大小
  • 字符串按ASCII码比较 示例:
print(max([10, 20, 5]))  # 20

检索最小值

min()函数与max()逻辑相反
注意点:

  • 空容器会引发ValueError
  • 混合类型需确保可比较 示例:
print(min({"a", "b", "c"}))  # 随机输出(集合无序)

类型转换

主要转换方法:

list("abc")     # ['a', 'b', 'c']
tuple([1,2])    # (1, 2)
str([1,2])      # "[1, 2]" 
set([1,1,2])    # {1, 2}

特殊注意:

  • 字符串转列表会拆分为单个字符
  • 集合转换会自动去重
排序功能

sorted()函数特性:

  • 返回新列表对象
  • 可通过reverse参数控制升降序
  • 支持key参数自定义排序规则 示例:
sorted((3,1,2), reverse=True)  # [3, 2, 1]

sorted((3,1,2))  # [1,2,3]

注意事项
  1. 字典操作默认针对键进行操作
  2. 集合转换会丢失元素顺序和重复值

更多推荐