首页 > 编程语言 >Python基础知识8

Python基础知识8

时间:2024-10-10 15:21:30浏览次数:9  
标签:10 re Python s16 s15 基础知识 集合 print

Python集合(set)

1.集合(set)是一个无序的不重复元素序列。

2.集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。

创建集合

1.可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。

parame = {value01,value02,...}
set(value)

set1 = {1, 2, 3, 4}# 直接使用大括号创建集合
set2 = set([4, 5, 6, 7])# 使用 set()函数从列表创建集合
set3 = set((4, 5, 6, 7))# 使用 set()函数从元组创建集合
#注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
s4=set({10,20,30,40})
print(s4) #{40, 10, 20, 30}
s5=set([100,200,300,100])#可以去除列表中重复的元素,不用管顺序
print(s5)# {200, 100, 300} 集合中的元素是无序的
#集合中可以保存不可变的数据
# s2={"hello",3.14,[10,20,30],{"name":"karen","age":20}}#报错 不能有列表和字典
#可以写入多个相同的数据,但是最后只有保存一个相同的数据
s1={10,20,10}
print(s1) #{10, 20}
#创建空集合
s8={}
print(s8,type(s8))#{} <class 'dict'> 矛盾,是字典

s9=set({})
print(s9,type(s9))#set() <class 'set'>

添加元素

1.将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。

2.s.add( x ) 添加元素到集合

s10={10,20,30}
x=40
# x=[10,20,30]#不可添加列表
s10.add(x)
print(s10)#{40, 10, 20, 30}
s10.add("x")
print(s10)#{40, 10, 20, 'x', 30}
s10.add(10)#与集合的元素重复,就不会添加,也不会报错
print(s10)#{40, 'x', 10, 20, 30}

3.s.update( x ) 添加元素到集合,且参数可以是列表,元组,字典等 ,x 可以有多个,用逗号分开

s11={10,20,30}
s11.update([10,20,30,40])
print(s11)#{40, 10, 20, 30}
s11.update([22,22,333,4222])
print(s11)#{40, 10, 333, 20, 22, 4222, 30}
s11.update([99,88],[22,44])
print(s11)#{99, 40, 10, 44, 333, 20, 22, 88, 4222, 30}

s11.update([99,88],(9898,7878))
print(s11)#{99, 7878, 40, 10, 9898, 44, 333, 20, 22, 88, 4222, 30}

# s11.update(([11,22],[33,44]))#报错 会把元组中的元素列表添加进集合并报错
s11.update([(000,9090),(555,6666),(6767,5656)])
print(s11)#{99, 7878, (0, 9090), 40, 10, 9898, 44, 333, (555, 6666), 20, 22, (6767, 5656), 88, 4222, 30}
s11.update({"name":"karan","age":1111})#将字典的键添加进集合
print(s11)#{99, 7878, (0, 9090), 40, 'age', 10, 9898, 44, 333, (555, 6666), 20, 22, (6767, 5656), 88, 'name', 4222, 30}

移除元素

1.s.remove( x ):将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

s12={1,2,3,4,5}
s12.remove(5)
# s12.remove(50)#报错 不能移除集合中不存在的元素
print(s12)#{1, 2, 3, 4}

2.s.discard( x ):将元素 x 从集合 s 中移除,如果元素不存在,不会发生错误。

s12={1,2,3,4,5}
s12.discard(4)
s12.discard(40)#不报错 可以移除集合中不存在的元素
print(s12)#{1, 2, 3}

3.s.pop():对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

x=s12.pop()
print(x)#1 有返回值
print(s12)# {2,3} 

计算集合元素个数、清空集合、判断元素是否在集合中存在

1.len(s):计算集合元素个数

2.s.clear():清空集合

3.x in s 判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

集合内置方法完整API

add()、update()、len()(详细笔记在前面)

clear()、discard()、pop()、remove()(详细笔记在前面)

copy()

1.copy():拷贝一个集合

s14={1,2,3,4,5}
s=s14.copy()#深拷贝
s.add(999)
print(s,s14)#{1, 2, 3, 4, 5, 999} {1, 2, 3, 4, 5}

difference()、difference_update()

1.difference():返回多个集合的差集

s15={1,2,3,4,5}
s16={3,4,5,6,7}
s17={3,2,9,10}
re=s15.difference(s16)
print(re)#{1, 2}
print(s15)#{1, 2, 3, 4, 5} 不会修改元数据
re=s15.difference(s16,s17)
print(re)#{1}

2.difference_update():移除集合中的元素,该元素在指定的集合也存在。

s15={1,2,3,4,5}
s16={3,4,5,6,7}
s15.difference_update(s16)
print(s15)#{1, 2} 修改原数据

intersection()、intersection_update()

1.intersection():返回集合的交集

s15={1,2,3,4,5}
s16={3,4,5,6,7}
re=s15.intersection(s16)
print(s15)#{1, 2, 3, 4, 5}
print(re)#{3, 4, 5}

2.intersection_update():返回集合的交集。

s15={1,2,3,4,5}
s16={3,4,5,6,7}
re=s15.intersection_update(s16)#会操作原来的15集合,保留阴影部分(交集)
print(s15)#{3, 4, 5}
print(re)#None

isdisjoint()、issubset()、issuperset()

1.isdisjoint():判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

s15={1,2,3,4,5}
s16={3,4,5,6,7}
re=s15.isdisjoint(s16)
print(re)#False

2.issubset():判断指定集合是否为该方法参数集合的子集。

s15={1,2,3,4}
s16={1,2,3,4,5,6}
re=s15.issubset(s16)
print(re)#True

s15={1,2,3,4,0}
s16={1,2,3,4,5,6}
re=s15.issubset(s16)
print(re)#False

s15=set({})
s16={1,2,3,4,5,6}
re=s15.issubset(s16)
print(re)#True

s15=set({})
s16=set({})
re=s15.issubset(s16)
print(re)#True

3.issuperset():判断该方法的参数集合是否为指定集合的子集

s15={1,2,3,4}
s16={1,2,3,4,5,6}
re=s15.issuperset(s16)
print(re)#False
re=s16.issuperset(s15)
print(re)#True

symmetric_difference()、symmetric_difference_update()

1.symmetric_difference():返回两个集合中不重复的元素集合。

2.symmetric_difference_update():移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

s15={2,3,4}
s16={1,2,3,4,5,6}
re=s15.symmetric_difference(s16)
print(re)#{1, 5, 6}
s15.symmetric_difference_update(s16)
print(s15)#{1, 5, 6}

union()

1.union():返回两个集合的并集

s15={1,2,3,4,5}
s16={3,4,5,6,7}
s17={3,2,9,10}
# re=s15+s16
# print(re)# 报错
re=s15.union(s16)
print(re)#{1, 2, 3, 4, 5, 6, 7}
re=s15.union(s16,s17)
print(re)#{1, 2, 3, 4, 5, 6, 7, 9, 10}

标签:10,re,Python,s16,s15,基础知识,集合,print
From: https://blog.csdn.net/m0_73723097/article/details/142794334

相关文章

  • 高数基础知识2
    定积分定义1.定积分表示函数f(x)在区间[a,b]上的累积效应或面积。几何意义1.如果f(x)≥0,则定积分表示曲线下方的面积。2.如果f(x)≤0,则定积分表示曲线上方的面积的负值。性质1.线性性质(其中c和d是常数)2.区间可加性(其中a≤c≤b)3.积分上下限交换4.定积分中......
  • Python 处理 JSON 格式数据
    Author:ACatSmilingSince:2024-10-09需求:将文件中的JSON格式数据,指定Key的值替换。对于文件的整个文本为JSON格式的数据。示例:{'A':{'a':23.45,'b':56.78,'c':89.01}}Python代码:importjson#读取原始JSON数......
  • 【python实操】python小程序之继承
    引言python小程序之继承文章目录引言一、继承1.1概念1.1.1基本语法1.1.2关键点解释1.1.3示例1.1.4总结1.2题目1.3代码1.4代码解释1.4.1类定义1.4.2对象创建与方法调用1.4.3总结二、思考一、继承1.1概念python中的继承是一种强大的机制,它允许一......
  • <Project-8.1 pdf2tx-MM> Python Flask 用浏览器翻译PDF内容 2个翻译引擎 繁简中文结果
    更新ProjectName:pdf2tx(P6)Date:5oct.24Function:在浏览器中翻译PDF文件Code:https://blog.csdn.net/davenian/article/details/142723144升级ProjectName:pdf2tx-mm(P8)7oct.24 加入多线程,分页OCR识别,提高性能与速度使用googletranslator, AzureAPI做......
  • C#基础知识总结-快速掌握看这一篇就够了
    C#基础知识总结-快速掌握看这一篇就够了目录一、类库:图书馆,命名空间:书架,类:书籍,方法:目录1、类库的引用2、初识类与名称空间3、依赖关系4、类与对象的关系......
  • 【Python脚本】getopt参数解析笔记
    getopt参数解析笔记背景在Python中,使用getopt模块进行命令行参数解析是常见的需求。在编写脚本时,正确地定义参数选项对于确保程序正常运行至关重要。这是一个用于检测安卓软件版本的脚本一部分,有些用法和笔记分享给大家问题描述在某个脚本中,使用getopt解析命令......
  • [Python手撕]第 k 个缺失的正整数
    给你一个严格升序排列的正整数数组arr和一个整数k。请你找到这个数组里第k个缺失的正整数。示例1:输入:arr=[2,3,4,7,11],k=5输出:9解释:缺失的正整数包括[1,5,6,8,9,10,12,13,...]。第5个缺失的正整数为9。示例2:输入:arr=[1,2,3,4],k=2输出:6解释:缺......
  • 基于Python后端构建多种不同的系统终端界面研究
    在我们一般开发系统的时候,往往会根据实际需要做出各种不同的系统终端界面,如基于BS的,CS、APP、小程序等等,一般都是基于一个统一接入的WebAPI后端,本篇系统探寻对基于Python后端构建多种不同的系统终端界面研究,介绍一些基于Python后端开发的不同终端界面。1、Python系统终端界面我......
  • 最新毕设-Python-旅游数据分析与可视化系统-48196(免费领项目)可做计算机毕业设计JAVA、
    基于python的旅游数据分析与可视化系统的设计与实现摘 要本文旨在设计和实现一个基于Python的旅游数据分析可视化系统。该系统以旅游数据为研究对象,利用Python的数据处理能力和可视化技术,对旅游数据进行深入分析,并通过直观的可视化图表展示分析结果。本文首先介绍了旅游数......
  • python程序停到这个地方 client_socket, address = server_socket.accept()
    停到这个地方 client_socket,address=server_socket.accept() 这行代码是在等待客户端的连接请求。server_socket.accept()是一个阻塞调用,它会一直等待有客户端连接上来,然后返回一个新的套接字对象client_socket和客户端的地址address。如果你的程序在这一行停止,可能......