首页 > 编程语言 >python数据结构学习整理-集合

python数据结构学习整理-集合

时间:2022-08-16 16:57:50浏览次数:54  
标签:item python 元素 print 集合 数据结构 type set9

"""集合的定义
- 无序的唯一对象集合
- 用大括号{}包围,对象相互之间使用逗号分隔
- 集合是动态的,可以随时添加或删除元素
- 集合是异构的,可以包含不同类型的数据
"""
  • 集合的使用-创建
1. 通过使用{}填充元素
# 1. 通过使用{}填充元素
set1 = {1, 2, 3}
print(type(set1), set1)

2. 通过构造方法 set(iterable)
# 2. 通过构造方法 set(iterable)
# 从字符串中添加元素
set2 = set('hefeiwtt')
print(type(set2), set2)
# 从列表中添加元素
set3 = set([1, 2 ,3])
print(type(set3), set3)
# 从元组中添加元素
set4 = set((1, 2, 3, 5))
print(type(set4),set4)
# 不传,返回空的集合
set5 = set()
print(type(set5),set5)

3. 通过集合推导式
# 3. 通过集合推导式
set6 = {i for i in range(5) if i % 2 ==0}
print(type(set6), set6)

  • 集合的使用-成员检测
"""集合的使用:成员检测
- in: 检查一个对象是否在集合中,如果在则返回True, 否则返回False
- not in: 检查一个集合是否不包含某个元素。如果不在返回True, 否则返回False
"""
set7 = {1, 2, 5}
# # 1. in
print(1 in set7)
# # 2. not in
print(8 not in set7)

  • 集合的方法-add()
"""集合方法add()
- add(item): 将单个对象添加到集合中
- 入参:对象item
- 返回:None
"""
"""add(item)"""
set8 = set()
set8.add(1)
set8.add(2)
set8.add("hefeiwtt")
print(type(set8),set8)

  • 集合的方法-update()
"""集合方法update()
- update(iterable)
- 批量添加来自可迭代对象中的所有元素
- 入参:可迭代对象iterable
- 返回:None
"""
"""update(iterable)"""
set9 = set()
# 批量添加字符串中的元素
set9.update('hefeia')
print(type(set9), set9)
# 批量添加列表中的元素
set9.update([1, 2, 3])
print(type(set9), set9)
# 批量添加元组中的元素
set9.update((7, 8, 9))
print(type(set9), set9)
# 批量添加集合中的元素
set9.update({'p','y'})
print(type(set9), set9)

  • 集合的方法-remove()
"""集合方法remove()
- remove(item): 从集合中移除指定元素item
- 入参:指定元素值
- 返回:None
- 如果item不存在于集合中则会引发KeyError
"""
"""remove(item)"""
# 1. 元素存在
set10 = {1, 2, 'hefei'}
set10.remove(1)
print(type(set10), set10)
# 2. 元素不存在会报错
# set10.remove(100)

 

  • 集合的方法-discard()
"""集合方法discard()
- discard(item): 从集合中移除指定对象item
- 入参:指定对象值
- 返回:None
- 元素item不存在没影响,不会抛出KeyError错误
"""
"""discard(item)"""
# 1. 元素存在
set11 = {1, 2, 3,'hefei'}
set11.discard(1)
print(type(set11), set11)
# 2. 元素不存在会报错
set11.discard(100)

  • 集合的方法-pop()
"""集合方法pop()
- pop(): 随机从集合中移除并返回一个元素
- 入参: 无
- 返回:被移除的元组
- 如果集合为空则会引发KeyError
"""
"""pop()"""
set12 = {1, 2, 'hefeiwang'}
set12.pop()
print(type(set12), set12)

  • 集合的方法-clear()
"""集合方法clear()
- clear(): 清空集合,移除所有元素
- 入参: 无
- 返回:None
"""
"""clear()"""
set13 = {1, 3, 4, 6}
set13.clear()
print(type(set13), set13)

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

  • 集合的运算-并集
"""集合运算-并集
- 并集运算
- union()
- 操作符: |
"""
"""union |"""
c = {1, 3, 2}
d = {5, 1, 4}
print(a.union(b))
print(a | b)

  • 集合的运算-差集
"""集合运算-差集
- 差集运算
- difference()
- 操作符: -
"""
"""difference -"""
e = {1, 3, 2}
f = {5, 1, 4}
print(a.difference(b))
print(a - b)

  • 集合推导式
"""集合推导式
- 类似列表推导式,同样集合支持集合推导式
- 语法: {x for x in ... if ...}
"""
"""实例:
寻找hefeidd 与 hello world中共同的字母
"""
# 传统方法
set14 = set()
for s in 'hefeidd':
    if s in 'hello world':
        set14.add(s)
print(set14)

# 集合推导式
set15 = {s for s in 'hefeidd' if s in 'hello world'}
print(set15)

 

 



 

标签:item,python,元素,print,集合,数据结构,type,set9
From: https://www.cnblogs.com/wwwwtt/p/16592094.html

相关文章

  • Python3_2022
    1、Python中__init__的通俗解释是什么?  2、Python数据结构之序列(Sequence)、集合(Set)、映射(Mapping)不可变序列(ImmutableSequence):字符串(class str)、元组(cl......
  • Python os.system()
    os.system()是\(os\)模块最基础的方法,其他方法一般在该基础上封装完成。os.system()原理\(system()\)可将字符串转化成命令行在服务器上运行;其原理是每条\(syste......
  • Python - PyMuPDF模块的简单使用
    1.简介能够用来对PDF文档进行操作的Python包有好几个,如用于提取内容的PdfPlumber、PDFMiner,可以用来对PDF文件进行修改操作的PyPDF2等等,如果只是需要简单地对PDF文件实现......
  • python 排版模块
    #科技类文本#用阿拉伯数字连续编号,不同层次的数字之间加下圆点相隔(即圆点加在数字的右下角),最后数字后面不加标点,如“1”“1.1”“1.1.1”……#人文类文本#第一层用“一......
  • YbtOJ 「数据结构」第4章 线段树
    不想dp了怎么办?开个新坑吧。例题1.求区间和树状数组不香吗,28行解决(bushi所以懒得打线段树了。code#include<bits/stdc++.h>#defineintlonglongusingnamespac......
  • EL_获取域中存储的值_List集合&Map集合值
    List集合:${域名称.键名[索引]}例如${requestScope.list.get(0)}<%@pageimport="java.util.ArrayList"%><%@pagecontentType="text/html;charset=UTF-8"lang......
  • pip install Appium-Python-Client 报Failed to build cryptography错误解决办法
    使用Pthon编写自动化脚本时,导入appium失败,百度查到需要安装Appium-Python-Client,于是CMD执行pipinstallAppium-Python-Client,报错:Buildingwheelsforcollectedpacka......
  • python中for ... in ...
    forin说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等格式:12for x in y:    循环体执行流程:x依次表示y中的一个元素,遍历完所有......
  • python写入txt 和python写入csv 202208
     ##写入csvdic=[1,2,3,4,5]# # file = open('21.txt', mode='w',encoding='UTF-8')# # file.write(dic)# # # 关闭文件,不关闭文件可能会出问题# # fil......
  • 获取域中List集合和Map集合存储的值以及empty运算符和隐式对象pageContext
    获取域中List集合和Map集合存储的值 List集合:${域名称.键名[索引]}<%Useruser=newUser();user.setName("张三");user.se......