当前位置: 首页 > news >正文

4-3.Python 数据容器 - 集合 set(集合 set 概述、集合的定义、集合的遍历、集合的常用方法)

集合 set 概述

  1. 集合用于存储一系列元素

  2. 集合存储的元素是无序的,不支持索引

  3. 集合存储的元素是不可以重复的

  4. 集合存储的元素可以是不同类型的,例如、数字、字符串、甚至是其他集合

  5. 集合是可变的,在程序运行时可以添加、删除其中的元素


一、集合的定义

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 不变
8len(【集合】)统计集合中的元素个数
2、演示
  1. add 方法
my_set = {1, 2, 3, 4, 5}my_set.add(6)print(my_set)
# 输出结果{1, 2, 3, 4, 5, 6}
  1. remove 方法
my_set = {1, 2, 3, 4, 5}my_set.remove(1)print(my_set)
# 输出结果{2, 3, 4, 5}
  1. pop 方法
my_set = {1, 2, 3, 4, 5}my_set.pop()print(my_set)
# 输出结果{2, 3, 4, 5}
  1. clear 方法
my_set = {1, 2, 3, 4, 5}my_set.clear()print(my_set)
# 输出结果set()
  1. 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}
  1. 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}
  1. 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}
  1. len 方法
my_set = {1, 2, 3, 4, 5}print(len(my_set))
# 输出结果5
http://www.dtcms.com/a/354229.html

相关文章:

  • Yolo系列 —— 使用自制数据集训练yolo模型
  • 2021/07 JLPT听力原文 问题一 1番
  • MQTT broker 安装与基础配置实战指南(一)
  • Java:IO流——增强篇
  • anaconda本身有一个python环境(base),想用别的环境就是用anaconda命令行往anaconda里创建虚拟环境
  • 英伟达 spectrum xgs 以太网 的含义和解释
  • 互联网大厂AI面试:从大模型原理到场景应用的深度解析
  • WPF 程序用户权限模块利用MarkupExtension实现控制控件显示
  • 嵌入式分层架构下的AT指令模块设计与实现
  • 使用Nginx搭建图片传输服务:配置与优化指南
  • Content-Type是application/x-www-form-urlencoded表示从前端到后端提交的是表单的形式
  • 微服务的编程测评系统17-判题功能-代码沙箱
  • 除自身以外数组的乘积是什么意思
  • 算法刷题常见错误
  • Linux 打包及压缩基础知识总结
  • 车间生产管理遇到的问题及改善方案有哪些?
  • 在 Windows 上部署 Go 语言开发环境
  • Go语言与Docker 开发的核心应用领域
  • 源码分析unexpected EOF on client connection with an open transaction
  • 分治法——二分答案
  • 深入探索Vue:前端开发的强大框架
  • Android10 音频系统之AudioPlaybackConfiguration
  • JVM之CMS、G1|ZGC详解以及选型对比
  • SynClub-百度在海外推出的AI社交产品
  • A-Level物理课程全解析:知识点、学习计划与培训机构推荐
  • 网络编程-连接、发送、接收数据学习
  • React Hooks 完全指南:从基础到高级的实战技巧
  • C++ 由 std::thread 初始化想到的
  • TencentOS Server 4.4 下创建mysql容器无法正常运行的问题
  • wireshark解析FLV插件分享