Python 集合 set的使用

这篇具有很好参考价值的文章主要介绍了Python 集合 set的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

集合 set

一、集合的创建与特点

创建集合使用{xxx} 或 set(), 但是创建空集合只能使用 set(), 空大括号{} 用来创建空的字典。

集合和列表区别:

  • 集合可以去掉重复数据,即只存放不同的元素
  • 集合中的元素是无序的,故不支持下标访问
  • 创建方式不同,列表是用中括号表示,非空集合使用大括号表示。
    有点类似java中的set,无序,不重复。
# 非空集合
set1 = {10, 12, 13, 16} 
print(set1) # {16, 10, 12, 13}
set2 = set('hello') # {'h', 'l', 'e', 'o'}
print(set2)
# 空集合
set3 = set()
print(type(set3)) # <class 'set'>
set4 = {}
print(type(set4)) # <class 'dict'>

字符串在python中很多时候都是以序列形式存在,所以很多时候通过字符串创建的对象都是每个字符的列表或集合;

二、集合的常见操作

1. 增加数据

集合对象.add(元素)

集合对象.update(序列)

set1 = {12, 15, 17, 18}
set1.add(20)
print(set1) # {12, 15, 17, 18, 20}
set1.update([100, 200])
set1.update('abc') 
print(set1) #{100, 200, 12, 15, 17, 18, 20, 'b', 'c', 'a'}

如果新增的元素之前集合存在,则会忽略掉

2. 删除数据

集合对象.discard(元素) 删除集合元素中指定数据,不会报错(优先)

集合对象.remove(元素) 删除集合元素中指定数据,不存在则报错。

集合对象.pop(),随机删除集合中某个元素,并返回这个数据。

set1 = {12, 15, 17, 18}
set1.remove(15)
print(set1) # {17, 18, 12}
# set1.remove(15) # 报错 KeyError: 15
set1.discard(17)
print(set1) # {18, 12}
num = set1.pop() 
print(num) # 18
print(set1) # {12}

3. 判断数据是否在集合中

  • 元素 in 集合

  • 元素 not in 集合

返回 bool 类型

set1 = {12, 15, 17, 18}
print(12 in set1) # True
print(212 in set1) # False

练习:

已知⼀列表a_list= [1,1,2,2,3,3,3,5,7,8]完成下列需求:
1.对列表数据进⾏去重,存到集合a_set当中
2.判断1是否在a_set中,如果存在,打印’你好,1’,不存在,则不做处理文章来源地址https://www.toymoban.com/news/detail-524113.html

a_list = [1, 1, 2, 2, 3, 3, 3, 5, 7, 8]
a_set = set(a_list)
if 1 in a_set:
    print('你好,1')

到了这里,关于Python 集合 set的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python教程(12)——Python数据结构集合set介绍

    集合是一种无序、可变的数据结构,它也是一种变量类型,集合用于存储唯一的元素。集合中的元素不能重复,并且没有固定的顺序。在Python 提供了内置的 set 类型来表示集合,所以 set 就是集合的意思。 你可以使用大括号 {} 或者 set() 函数来创建一个集合。 需要注意

    2024年02月10日
    浏览(28)
  • Python集合 (set) 的增删改查及 copy()方法

    集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。 以下是集合最重要的两点: 1、去重,把一个列表变成集合,就自动去重了。 2、关系测试,测试两组数据之前的交集、差集、并集等关系。

    2024年02月06日
    浏览(24)
  • Python学习笔记_基础篇(六)_Set集合,函数,深入拷贝,浅入拷贝,文件处理

    a、set集合,是一个无序且不重复的元素集合 set b、数据类型模块举例 a、数字和字符串 对于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。 b、其他基本数据类型 对于字典、元祖、列表 而言,进行赋值、浅拷贝和深拷贝时,其内存地

    2024年02月12日
    浏览(31)
  • Python数据容器(列表list、元组tuple、字符串str、字典dict、集合set)详解

    相关介绍: 一种可以容纳多份数据的数据类型,容纳的每一份数据称之为一个元素。每一个元素,可以是任意类型的数据 分为五类: 列表[list]、元组(tuple)、字符串(str)、集合{set}、字典{dict} 相应区别: 列表 元祖 字符串 集合 字典 元素数量 多个 多个 多个 多个 多个 元素类

    2024年02月11日
    浏览(61)
  • Java开发基础系列(十三):集合对象(Set接口)

    😊 @ 作者: 一恍过去 💖 @ 主页: https://blog.csdn.net/zhuocailing3390 🎊 @ 社区: Java技术栈交流 🎉 @ 主题: Java开发基础系列(十三):集合对象(Set接口) ⏱️ @ 创作时间: 2023年07月27日 HashSet: 基于哈希表实现的集合,不保证元素的顺序。 LinkedHashSet: 基于哈希表和双向链表实现的

    2024年02月15日
    浏览(28)
  • Python大数据之PySpark(三)使用Python语言开发Spark程序代码

    Spark Standalone的PySpark的搭建----bin/pyspark --master spark://node1:7077 Spark StandaloneHA的搭建—Master的单点故障(node1,node2),zk的leader选举机制,1-2min还原 【scala版本的交互式界面】bin/spark-shell --master xxx 【python版本交互式界面】bin/pyspark --master xxx 【提交任务】bin/spark-submit --master xxxx 【学

    2024年01月17日
    浏览(39)
  • Python 集合 union()函数使用详解,Python合并集合

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 union() 可以 「合并」 集合 语法 参数 set :(必选)需要合并的集合 返回值 返回一个合并后的新集合 实例:合

    2024年02月16日
    浏览(28)
  • 【Java】Set集合的基本使用

       📝个人主页:哈__ 期待您的关注  ①:add(Object o):向Set集合中添加元素,不允许添加重复数据。 ②:size():返回Set集合中的元素个数 注意:不会按照保存的顺序存储数据(顺序不定),遍历时不能保证下次结果和上次相同。且向HashSet集合中添加元素,HashSet add方法实质是

    2024年04月13日
    浏览(32)
  • Python 集合 add()函数使用详解,集合添加元素

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 add() 函数可以给集合 「添加」 元素。 语法 参数 element :(必选)需要添加的元素 返回值 None,没有返回值,

    2024年02月17日
    浏览(34)
  • 数据分析课程设计(数学建模+数据分析+数据可视化)——利用Python开发语言实现以及常见数据分析库的使用

    目录 数据分析报告——基于贫困生餐厅消费信息的分类与预测 一、数据分析背景以及目标 二、分析方法与过程 数据探索性与预处理 合并文件并检查缺失值 2.计算文件的当中的值 消费指数的描述性分析 首先对数据进行标准化处理 聚类模型的评价 聚类模型的结果关联 利用决

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包