13.从入门到精通:Python 集合 集合的基本操作 1、添加元素 2、移除元素 3、计算集合元素个数 4、清空集合 5、判断元素是否在集合中存在 集合内置方法完整列表

简介: 13.从入门到精通:Python 集合 集合的基本操作 1、添加元素 2、移除元素 3、计算集合元素个数 4、清空集合 5、判断元素是否在集合中存在 集合内置方法完整列表

Python 集合

在Python中,集合是一种无序、不重复的数据类型。集合通常用于去重、检查成员资格等操作。Python提供了内置的set类型来实现集合,可以使用花括号{}或set()函数来创建一个集合。

使用花括号创建集合:

my_set = {'apple', 'banana', 'orange'}
print(my_set)  # 输出 {'banana', 'orange', 'apple'}

使用set()函数创建集合:

my_set = set(['apple', 'banana', 'orange'])
print(my_set)  # 输出 {'banana', 'orange', 'apple'}

可以使用add()方法向集合中添加元素:

my_set = {'apple', 'banana', 'orange'}
my_set.add('pear')
print(my_set)  # 输出 {'banana', 'orange', 'pear', 'apple'}

可以使用remove()方法从集合中删除元素:

my_set = {'apple', 'banana', 'orange'}
my_set.remove('banana')
print(my_set)  # 输出 {'orange', 'apple'}

可以使用in运算符来检查元素是否属于集合:

my_set = {'apple', 'banana', 'orange'}
print('apple' in my_set)  # 输出 True
print('pear' in my_set)  # 输出 False

需要注意的是,集合中的元素必须是不可变的对象,因为集合的实现也是基于哈希表的。如果集合中包含可变对象,例如列表或字典,将引发TypeError异常。


集合的基本操作

1、添加元素

在Python中,可以使用以下方法向字典中添加元素:

  • 使用键来添加元素:使用方括号[]和赋值符号=,将新的键值对添加到字典中。
  • 使用update()方法:使用update()方法将一个字典中的键值对添加到另一个字典中。

下面是这两种方法的示例:

# 使用键来添加元素
my_dict = {'key1': 'value1', 'key2': 'value2'}
my_dict['key3'] = 'value3'
print(my_dict) # 输出:{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
使用update()方法添加元素
my_dict = {'key1': 'value1', 'key2': 'value2'}
new_dict = {'key3': 'value3', 'key4': 'value4'}
my_dict.update(new_dict)
print(my_dict) # 输出:{'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4'}

使用这些方法,可以方便地向字典中添加新的键值对。


2、移除元素

在Python中,可以使用以下方法从字典中移除元素:

  • 使用del语句:使用del语句和键来删除字典中的元素。
  • 使用pop()方法:使用pop()方法和键来删除字典中的元素,并返回该元素的值。
  • 使用clear()方法:使用clear()方法删除字典中的所有元素。

下面是这三种方法的示例:

# 使用del语句删除元素
my_dict = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
del my_dict['key2']
print(my_dict) # 输出:{'key1': 'value1', 'key3': 'value3'}
使用pop()方法删除元素
my_dict = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
value = my_dict.pop('key2')
print(my_dict) # 输出:{'key1': 'value1', 'key3': 'value3'}
print(value) # 输出:value2
使用clear()方法删除所有元素
my_dict = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
my_dict.clear()
print(my_dict) # 输出:{}

使用这些方法,可以方便地从字典中移除元素。


3、计算集合元素个数

在Python中,可以使用len()函数来计算集合中元素的个数。例如

my_set = {'apple', 'banana', 'orange'}
print(len(my_set))  # 输出 3

需要注意的是,如果集合中有重复的元素,它们只会被计算一次。


4、清空集合

在Python中,可以使用以下方法清空集合:
使用clear()方法:使用clear()方法删除集合中的所有元素。

下面是这种方法的示例:

# 使用clear()方法清空集合
my_set = {1, 2, 3, 4, 5}
my_set.clear()
print(my_set) # 输出:set()

使用这种方法,可以方便地清空集合中的所有元素。


5、判断元素是否在集合中存在

在Python中,可以使用in运算符来判断一个元素是否在集合中存在。例如:

my_set = {'apple', 'banana', 'orange'}
print('apple' in my_set)  # 输出 True
print('pear' in my_set)  # 输出 False

需要注意的是,in运算符的时间复杂度是O(1),因此它非常适合用于集合中元素的查找操作。


集合内置方法完整列表

Python中的集合类型内置了多个方法,包括:

add():向集合中添加元素。


clear():从集合中删除所有元素


copy():返回集合的副本。


difference():返回一个包含两个集合差集元素的新集合。


difference_update():从原集合中删除另一个集合中的元素。


discard():从集合中删除指定元素,如果元素不存在,则不执行任何操作。


intersection():返回两个集合的交集元素。


intersection_update():将原集合中的元素更新为两个集合的交集元素。


isdisjoint():判断两个集合是否没有交集。


issubset():判断一个集合是否为另一个集合的子集。


issuperset():判断一个集合是否为另一个集合的超集。


pop():随机删除并返回集合中的一个元素。


remove():从集合中删除指定元素,如果元素不存在,则引发KeyError异常。


symmetric_difference():返回两个集合的对称差集元素。


symmetric_difference_update():将原集合中的元素更新为两个集合的对称差集元素。


union():返回两个集合的并集元素。


update():将原集合中的元素更新为两个集合的并集元素。


这些方法可以对集合进行各种操作,具体用法可以参考Python官方文档。


相关文章
|
1天前
|
机器学习/深度学习 数据可视化 前端开发
【Python机器学习专栏】机器学习模型评估的实用方法
【4月更文挑战第30天】本文介绍了机器学习模型评估的关键方法,包括评估指标(如准确率、精确率、召回率、F1分数、MSE、RMSE、MAE及ROC曲线)和交叉验证技术(如K折交叉验证、留一交叉验证、自助法)。混淆矩阵提供了一种可视化分类模型性能的方式,而Python的scikit-learn库则方便实现这些评估。选择适合的指标和验证方法能有效优化模型性能。
|
1天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】Python中的特征选择方法
【4月更文挑战第30天】本文介绍了机器学习中特征选择的重要性,包括提高模型性能、减少计算成本和增强可解释性。特征选择方法主要包括过滤法(如相关系数、卡方检验和互信息)、包装法(如递归特征消除和顺序特征选择)和嵌入法(如L1正则化和决策树)。在Python中,可利用`sklearn`库的`feature_selection`模块实现这些方法。通过有效的特征选择,能构建更优的模型并深入理解数据。
|
1天前
|
机器学习/深度学习 数据采集 数据可视化
【Python 机器学习专栏】数据缺失值处理与插补方法
【4月更文挑战第30天】本文探讨了Python中处理数据缺失值的方法。缺失值影响数据分析和模型训练,可能导致模型偏差、准确性降低和干扰分析。检测缺失值可使用Pandas的`isnull()`和`notnull()`,或通过可视化。处理方法包括删除含缺失值的行/列及填充:固定值、均值/中位数、众数或最近邻。Scikit-learn提供了SimpleImputer和IterativeImputer类进行插补。选择方法要考虑数据特点、缺失值比例和模型需求。注意过度插补和验证评估。处理缺失值是提升数据质量和模型准确性关键步骤。
|
1天前
|
数据挖掘 数据处理 Python
【亮剑】如何在 Python 中以表格格式打印列表?
【4月更文挑战第30天】本文介绍了Python中以表格格式打印列表的三种方法:1) 使用字符串格式化,适用于简单场景;2) 使用prettytable库,适合需要更多格式化选项的情况;3) 使用pandas库,适用于处理大量数据和复杂分析。根据需求选择合适的方法来展示数据。
|
2天前
|
API 数据库 Python
Python web框架fastapi数据库操作ORM(二)增删改查逻辑实现方法
Python web框架fastapi数据库操作ORM(二)增删改查逻辑实现方法
|
2天前
|
机器学习/深度学习 数据可视化 数据挖掘
实用技巧:提高 Python 编程效率的五个方法
本文介绍了五个提高 Python 编程效率的实用技巧,包括使用虚拟环境管理依赖、掌握列表推导式、使用生成器提升性能、利用装饰器简化代码结构以及使用 Jupyter Notebook 进行交互式开发。通过掌握这些技巧,可以让你的 Python 编程更加高效。
|
2天前
|
数据可视化 数据处理 Python
Python有很多创建图表的常用方法
Python的图表创建工具有多种,如基础的Matplotlib用于绘制各类图表,包括线图和柱状图等;Seaborn是Matplotlib的扩展,擅长复杂可视化如热力图和回归图;Plotly和Bokeh提供交互式图表,适合高维数据展示,支持散点图、线图等;Pandas虽主要是数据处理库,但也具备基本绘图功能;Pygal专注于生成可缩放矢量图,如线图和饼图,支持SVG输出;而Altair基于Vega,适用于交互式和高维数据的可视化。选择哪种库取决于具体需求和图表类型。
12 2
|
6天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
12 1
|
1天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
9 2
|
2天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver