python常用数据结构集合详解

目录
  • set集合
    • 集合定义与使用
  • 集合常用方法
    • add()
    • update()
    • remove()
    • discard()
    • pop()
    • clear()
  • 集合运算
    • 交集运算
    • 并集运算
    • 差集运算
  • 集合推导式

set集合

集合定义与使用

集合定义:

  • --无序的唯一对象集合
  • --用大括号{}包围,对象相互之间使用逗号分隔
  • --集合是动态的,可以随时添加或删除元素
  • --集合是异构的,可以包含不同类型的数据

集合使用:创建

创建:

  • --通过使用{}填充元素
  • --通过构造方法set()
  • --通过集合推导式
# 集合使用:创建
# 创建
# --通过使用{}填充元素
a = {1, 2, 3}
print(type(a), a)
# --通过构造方法set()
b = set("1")
print(type(b), b)
c = [1, 2, 3, "happy"]
d = set(c)
print(type(d), d)
# --通过集合推导式
e = {i for i in c}
print(type(e), e)
# --注意:不可传空{}来定义集合,会得到字典类型
f = {}
print(type(f))

集合使用:成员检测

  • in:判断元素是否在集合中存在
  • not in :判断元素是否在集合中不存在
# 集合使用:成员检测
# in:判断元素是否在集合中存在
# not in :判断元素是否在集合中不存在
a = {1, 2, 3, 4, 5}
print(1 in a)
print(6 in a)
print(2 not in a)
print(6 not in a)

集合常用方法

add()

add(item):将单个对象添加到集合中

入参:对象item

返回:None

# add()
# add(item):将单个对象添加到集合中
# 入参:对象item
# 返回:None
a = {1, 2, 3}
a.add(4)
print(a)

update()

update(iterable)

批量添加来自可迭代对象中的所有元素

入参:可迭代对象tierable

返回:None

# update()
# update(iterable)
# 批量添加来自可迭代对象中的所有元素
# 入参:可迭代对象iterable
# 返回:None
a = {1, 2, 3}
a.update("happy")
print(a)

remove()

remove(item):从几个中移除指定元素item

入参:指定元素值

返回:None

如果item不存在与集合中则会引发KeyError

# remove()
# remove(item):从几个中移除指定元素item
# 入参:指定元素值
# 返回:None
# 如果item不存在与集合中则会引发KeyError
a = {1, 2, 3, 4}
a.remove(1)
print(a)

discard()

discard(item):从集合中移除指定对象item

入参:指定对象值

返回:None

元素item不存在没印象,不会抛出KeyError错误

# discard()
# discard(item):从集合中移除指定对象item
# 入参:指定对象值
# 返回:None
# 元素item不存在没印象,不会抛出KeyError错误
a = {1, 2, 3, "happy"}
a.discard(2)
print(a)

pop()

pop():随机从集合中移除并返回一个元素

入参:

返回:被移除的元素

如果集合为空则会引发KeyError错误

# pop()
# pop():随机从集合中移除并返回一个元素
# 入参:无
# 返回:被移除的元素
# 如果集合为空则会引发KeyError错误
a = {1, 2, 3, 4, "happy"}
print(a.pop())
print(a)

clear()

clear():清空集合,移除所有元素

入参:

返回:None

# clear()
# clear():清空集合,移除所有元素
# 入参:无
# 返回:None
a = {1, 2, 3, "happy"}
a.clear()
print(a)

集合运算

交集运算

intersection()

操作符:&

# 交集运算
# intersection()
# 操作符:&
a = {1, 2, 3}
b = {2, 3, 4}
print(a.intersection(b))
print(a & b)

并集运算

union()

操作符:|

# 并集运算
# union()
# 操作符:|
a = {1, 2, 3}
b = {2, 3, 4, 5}
print(a.union(b))
print(a | b)

差集运算

difference()

操作符:-

# 差集运算
# difference()
# 操作符:-
a = {1, 2, 3, 4}
b = {2, 3, 4, 5}
print(a.difference(b))
print(a - b)
print(b.difference(a))
print(b - a)

集合推导式

类似列表推导式,同时集合支持集合推导式

语法:{i for i in ... if ...}

# 集合推导式
# 类似列表推导式,同时集合支持集合推导式
# 语法:{i for i in ... if ...}
a = {i for i in [1, 2, 3, 4] if i % 2 == 0}
print(a)

到此这篇关于python常用数据结构集合详解的文章就介绍到这了,更多相关python 集合内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】

    本文实例讲述了Python基础学习之基本数据结构.分享给大家供大家参考,具体如下: 前言 相比于PHP,Python同样也是脚本解析语言,所以在使用Python的时候,变量和数据结构相对于编译语言来说都会简单许多,但是Python相比于PHP来说,变量类型的定义会比较严格:string->int的转换没有PHP那么方便.但这也让程序稳定性有所提升,例如和客户端交互的时候,数据库取出来的数字int和缓存取出来的数字(默认是string)需要手动进行转换(否则会有报错提示),而PHP不需要手动转换的

  • Python集合set()使用的方法详解

    目录 1.集合的特点 2.set的建立 1.用set()函数创建set集合 2.add() 3.用{}创建set集合.空set集合用set()函数表示,不可a={}. 4.set集合的转化 3.常见使用注意事项 4.set的常用方法 4.1 set集合的增删改查操作 4.2 其它用法 5.列表,元组,字典,集合 5.1 它们之间的类型转换 5.2 集合和列表方法上的区别 总结 在python3中按数据类型的可变与不可变大致分为如下几种类型: 不可变数据(3个):Number(数字).String

  • Python集合之set和frozenset的使用详解

    目录 简介 构造 基本使用 交集.并集.差集.对称差集 无交集.子集.超集 运算符 可用于 set 的操作 简介 集合对象 set 是由具有唯一性的可哈希对象组成的无序多项集,如 list 不能哈希因此,不能作为 set 的一项. set 的常见用途包括成员检测.从序列中去除重复项以及数学中的集合类计算,如交集.并集.差集与对称差集等. set 不记录元素位置或插入顺序. 相应地,set 不支持索引.切片或其他序列操作. 目前有两种内置集合类型,set 和 frozenset: set 是可变的

  • Python 中的集合和字典

    目录 1集合 2字典(key:value) 1 集合 集合可以使用大括号({})或者set()函数进行创建,但是创建一个空集合必须使用set()函数,而不能用{},大括号是用来创建一个空字典 查看集合对象的方法: print(dir(set)) 集合的17个内置方法: set.add(x): 集合添加元素 set.clear(): 清空集合 set.copy(): 返回集合的浅复制 set.difference(set1[,...]): 返回两个或更多个集合的差(set保持不变) set.dif

  • Python中列表、字典、元组、集合数据结构整理

    本文详细归纳整理了Python中列表.字典.元组.集合数据结构.分享给大家供大家参考.具体分析如下: 列表: 复制代码 代码如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] 字典: 复制代码 代码如下: di = {'a':123,'b':'something'} 集合: 复制代码 代码如下: jihe = {'apple','pear','apple'} 元组: 复制代码 代码如下: t = 123,456,'hello' 1.列表 空

  • Python基本数据结构与用法详解【列表、元组、集合、字典】

    本文实例讲述了Python基本数据结构与用法.分享给大家供大家参考,具体如下: 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.以下是 Python 中列表的方法: 下面示例演示了列表的大部分方法: >>> a = [66.25, 333, 333, 1, 1234.5] >>> print(a.count(333), a.count(66.25), a.count('x')) 2 1 0 >

  • python常用数据结构集合详解

    目录 set集合 集合定义与使用 集合常用方法 add() update() remove() discard() pop() clear() 集合运算 交集运算 并集运算 差集运算 集合推导式 set集合 集合定义与使用 集合定义: --无序的唯一对象集合 --用大括号{}包围,对象相互之间使用逗号分隔 --集合是动态的,可以随时添加或删除元素 --集合是异构的,可以包含不同类型的数据 集合使用:创建 创建: --通过使用{}填充元素 --通过构造方法set() --通过集合推导式 # 集合使

  • python常用数据结构元组详解

    目录 Tuple 元组 元组的定义和使用 元组常用方法 index(item) count(item):返回某个元素出现的次数 元组解包 元组与列表 Tuple 元组 元组的定义和使用 元组的定义: 元组是有序的不可变对象集合 元组使用小括号包围,各个对象之间使用逗号分隔 元组是异构的,可以包含多种数据类型 元组使用:创建 创建: --使用逗号分隔 --通过小括号填充元素 --通过构造方法tuple(iterable)-----iterable:可迭代对象 --注意:单元素元组,逗号不可或缺 #

  • Python 常用string函数详解

    字符串中字符大小写的变换 1. str.lower()   //小写 >>> 'SkatE'.lower() 'skate' 2. str.upper()   //大写 >>> 'SkatE'.upper() 'SKATE' 3. str.swapcase()  //大小写互换 >>> 'SkatE'.swapcase() 'sKATe' 4. str.title()   //首字母大写,其余的小写 >>> 'SkatE'.title

  • Python常用标准库详解(pickle序列化和JSON序列化)

    目录 常用的标准库 序列化模块 序列化和反序列化 使用场景 dumps & loads dump & load JSON序列化模块 使用场景 支持的数据类型 JSON和pickle的区别 序列化函数 json和pickle实际使用过程中的一些问题 pickle和json的区别总结 常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化.把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化. 在文件中存储的数据只

  • Python四大金刚之集合详解

    目录 引言 一.集合的创建方式 二.集合的相关操作 三.集合生成式 总结 引言 一.集合的创建方式 #使用{} s = {1,2,3,4,3,2} #不允许重复元素 print(s) #使用内置函数set() s = set(range(6)) print(s) print(set(range(9))) print(set([10,12,13,4])) print(set('Python')) 二.集合的相关操作 set = {10,20,30,40,50} print(10 in set) #

  • python模块常用用法实例详解

    1.time模块(※※※※) import time #导入时间模块 print(time.time()) #返回当前时间的时间戳,可用于计算程序运行时间 print(time.localtime()) #返回当地时间的结构化时间格式,参数默认为时间戳 print(time.gmtime) #返回UTC时间的结构化时间格式 print(time.mktime(time.localtime())) #将结构化时间转换为时间戳 print(time.strftime("%Y-%m-%d %X&quo

  • python库JsonSchema验证JSON数据结构使用详解

    目录 简单实例 type关键字 object关键字 属性 properties 必需属性 大小 数组属性 items List validation Tuple validation 长度 唯一性 通用关键字 元数据 枚举值 组合模式 anyOf oneOf allOf $schema关键字 正则表达式 构建复杂的模式 重用 JSON Schema是一个用于验证JSON数据结构的强大工具, 我查看并学习了JSON Schema的官方文档, 做了详细的记录, 分享一下. 我们可以使用JSON Sc

  • python中seaborn包常用图形使用详解

    seaborn包是对matplotlib的增强版,需要安装matplotlib后才能使用. 所有图形都用plt.show()来显示出来,也可以使用下面的创建画布 fig,ax=plt.subplots() #一个画布 fig,(ax1,ax2) = plt.subplots( ncols=2) #两个画布 1)单个特征统计图countplot sn.countplot(train.mnth)#离散型特征可使用,描述样本点出现的次数. 2)单个特征统计图distplot sn.distplot(t

  • python基础之set集合详解

    一.set 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 {} 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典. 二.创建集合 print({"1", "2", "3"})  # {'2', '3', '1'} print(set("123"))  # {'2', '3', '1'} print(set((1, 2, 3)))  #

  • Python列表常用函数使用详解

    目录 介绍  append() extend() insert() pop() remove() 介绍  append() 语法 list.append( element ) 参数 element:任何类型的元素 列表「末尾」添加元素 name_list = ['zhangsan', 'lisi', 'wangwu'] name_list.append('zhaoliu') print(name_list) 输出: ['zhangsan', 'lisi', 'wangwu', 'zhaoliu'

随机推荐