【Python】集合 set ① ( 集合定义 | 集合特点 | 代码示例 - 集合定义 )

news/2024/10/21 3:51:25/

文章目录

  • 一、集合特点
  • 二、集合定义
  • 三、代码示例 - 集合定义





一、集合特点



在之前 的博客中 介绍了 列表 / 元组 / 字符串 数据容器 ,

  • 列表 支持 定义后 , 增加元素 / 修改元素 / 删除元素 , 并且 列表中可以存储 重复 / 有序 的元素 ;
  • 元组 定义后 不能 进行 增加元素 / 修改元素 / 删除元素 操作 , 元组 也支持 重复 / 有序 的元素 ;

列表 和 元组 都是 重复有序的 数据容器 , 如果 想要 数据容器中 存储的都是 不可重复的 数据容器 , 就无法使用这两个数据容器 ;

本篇博客介绍一种新的 自带去重功能 数据容器 : " 集合 " , 集合 数据容器 中的元素 不能重复 ;





二、集合定义



集合 使用 大括号 {} 进行定义 ;

  • 定义 集合 数据容器 字面量 ; 如果其中有重复元素 , 会自动删除前面的重复元素 , 保留最后一个元素 ;
{元素1, 元素2, 元素3}
  • 定义 集合 数据容器 变量 ; 如果其中有重复元素 , 会自动删除前面的重复元素 , 保留最后一个元素 ;
集合变量 = {元素1, 元素2, 元素3}
  • 定义 空集合 数据容器 ;
集合变量 = set() 

注意 : 如果集合中有重复的元素 , 会保留后面的元素 , 前面的元素会被自动删除 ;


回顾下集中数据容器的定义方式 :

  • 列表 : 使用 中括号 [] 定义 ;
  • 元组 : 使用 小括号 () 定义 ;
  • 字符串 : 使用 双引号 "" 定义 ;
  • 集合 : 使用 大括号 {} 定义 ;




三、代码示例 - 集合定义



在下面的集合中 , 分别定义了 集合字面量 / 集合变量 / 空集合 ;

其中定义集合变量时 , 定义了两个重复元素 ‘Tom’ 字符串 ,

{"Tom", "Jerry", "Jack", "Tom"}

由于 集合 数据容器中的元素 不能重复 , 在集合中 , 这两个 Tom 字符串需要删除一个 , 这里将第一个 Tom 字符串被删除 , 保留第二个 Tom 字符串 ;

代码示例 :

"""
集合 代码示例
"""# 定义集合字面量
{"Tom", "Jerry", "Jack"}# 定义集合变量
names = {"Tom", "Jerry", "Jack", "Tom"}
# 上述集合中有两个 Tom 字符串, 由于 集合 不能重复, 第一个 Tom 字符串被删除
print(f"names = {names}, type = {type(names)}")
# 输出: names = {'Jack', 'Jerry', 'Tom'}, type = <class 'set'># 定义空集合
empty = set()
print(f"empty = {empty}, type = {type(empty)}")
# 输出: empty = set(), type = <class 'set'>

执行结果 :

names = {'Tom', 'Jerry', 'Jack'}, type = <class 'set'>
empty = set(), type = <class 'set'>

在这里插入图片描述


http://www.ppmy.cn/news/351254.html

相关文章

python查单词音标_有没有通过读音或音标就能查出英语单词的办法,比如发音查词软件?...

展开全部 英语发音软件可以通过读音或音标就能查出英语单词。 英语发音软件带一个独e68a84e8a2ad3231313335323631343130323136353331333431373239特的音标词典&#xff0c;可以根据发音查单词&#xff0c;哪怕音标记不太清楚也能查到。在听到某个单词想查的时候&#xff0c;可…

Netty实战(十四)

WebSocket协议&#xff08;二&#xff09; 一、初始化 ChannelPipeline二、引导三、加密 一、初始化 ChannelPipeline 我们之前说过为了将 ChannelHandler 安装到 ChannelPipeline 中&#xff0c;需要扩展了ChannelInitializer&#xff0c;并实现 initChannel()方法。 下面我…

解决git提交时候出现的错误提示“modified:xxxxx (modified content, untracked content)“方法

今天来分享一个关于自己在使用git从本地仓库提交至远程仓库时候遇到的一个错误。话不多说&#xff0c;先来看一下这个错误提示&#xff1a;“modified:xxxxx (modified content, untracked content)”。这个错误提示我&#xff0c;xxxxx里面有未跟踪且已修改的内容&#xff0c;…

【C++】optional 用法

返回值可接受为空&#xff0c;用以表示状态失败 举个栗子&#xff0c; #include <iostream> #include <optional>using namespace std;class User{string name;optional<string> nickName;optional<int> age;public:User(const string& name,opti…

大数据分析平台释疑专用帖

大数据分析平台是大数据时代&#xff0c;企业数字化运营决策的一大关键平台&#xff0c;但初次接触大数据分析平台时&#xff0c;大家必然是问题多多的&#xff0c;本文将就几个比较常见的问题进行总结回答&#xff0c;希望对正在了解、选型大数据分析平台的大家有所帮助。 首…

Flash Loader Demonstrator v2.8.0下载

链接&#xff1a;https://pan.baidu.com/s/1jpwH-NU8_Y31hPPDKDuVwA 提取码&#xff1a;2qkb 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦

Linux下安装flash player插件

sudo apt install flashplugin-installer sudo apt install browser-plugin-freshplayer-pepperflash中间可能会遇到 sudo apt-get update sudo apt-get install --fix-missing再次运行 sudo apt install browser-plugin-freshplayer-pepperflash直接打开就能看视频了

MTK样机用flashtool烧录操作

这是之前装过了&#xff0c;第一次使用样机&#xff0c;就点击软件右下角的Install安装一下adb驱动 然后就是给电脑安装adb了 不管你用什么方式得到的adb&#xff0c;放到C盘某个目录下&#xff0c;然后我的电脑右击&#xff0c;选择属性&#xff0c;然后点高级系统设置&…