Python | 数据类型之集合 | 函数

news2024/12/24 9:03:08

知识目录

    • 一、集合简介
      • 1.1 集合的定义
      • 1.2 实例
    • 二、集合的基本操作
    • 三、函数
      • 3.1 函数的定义
      • 3.2 函数的调用
      • 3.3 全局变量和局部变量

一、集合简介

1.1 集合的定义

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

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而

不是 { },因为 { } 是用来创建一个空字典。

dict1 = {}  # 创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
print(type(dict1))  # dict
set1 = set()
print(type(set1))  # set

1.2 实例

set2 = {"a", "b", "c", "b", "e"}
print(set2)  # 去重功能
print("a" in set2)  # 判断元素是否在集合内

a = set('abrcd')
b = set('alczm')
# a-b 集合a中包含而集合b中不包含的元素 <=>a-a&b
print(a - b)
# a|b 集合a或b中包含的所有元素
print(a | b)
# a&b 集合a和b中都包含了的元素
print(a & b)
# a^b 不同时包含于a和b的元素 <=> a-b | b-a
print(a ^ b)
print(a - b | b - a)

二、集合的基本操作



# 1.difference() a-b 不改变原集合
set1 = {"a","b","c"}
set2 = {"c","d","e"}
print(set1.difference(set2))

# 2.difference_update()  改变原集合
# difference() 方法返回一个移除相同元素的新集合,而 difference_update() 方法是直接在原来的集合中移除元素
set1.difference_update(set2)
print(set1)

# 3.intersection()
set3 = {1,2,3}
set4 = {3,4,5}
print(set3.intersection(set4))

# 4.intersection_update()
# intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不重叠的元素
set3.intersection_update(set4)
print(set3)


三、函数

3.1 函数的定义

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。

Python 定义函数使用 def 关键字,一般格式如下:

def 函数名(参数列表):
    函数体
    return 

Python中的函数与其他语言中的函数用法基本相同,这里不过多介绍。

需要注意的是,Python中的函数可以有多个返回值,请看下面的例题:

# 有多个返回值的函数
def getDate():
    year = 2023
    mouth = 2
    return year, mouth


# 接收函数值也要使用两个变量
year, mouth = getDate()
print("year is %d,mouth is %d" % (year, mouth))
# 如果使用1个变量接收,接收到的就是元组
year = getDate()
print("year is %s and type is %s" % (str(year), type(year)))

3.2 函数的调用

函数可以直接调用,也可以嵌套调用。

def line():
    print("-" * 40)

line()  # 直接调用

def defineLine():
    number = int(input("Please input a number for times:\n"))
    i = 0
    while i < number:
        line()  # 嵌套调用
        i += 1

3.3 全局变量和局部变量

全局变量局部变量
定义定义在函数外的变量定义在函数内的变量
作用范围整个Python文件有效函数内有效
冲突当全局变量和局部变量重名时,使用的是局部变量如果要使用全局变量,要使用global关键字声明

请看下面的例题:

a = 100
def getNum():
    a = 200 # 当全局变量和局部变量重名时,使用的是局部变量
    print("a=%d"%a)
def getNum2():
    global a
    a = 500 # 如果要使用全局变量,要使用global关键字声明
    print("a=%d"%a)

getNum()
getNum2()
print(a)

这篇文章主要介绍了Python中的集合(set)数据类型,以及函数的定义和调用!今

日份的分享就到这里,我们下期再见,拜拜!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hudi系列13:Hudi集成Hive

文章目录一. Hudi集成Hive概述二. Hudi集成Hive步骤2.1 拷贝jar包2.1.1 拷贝编译好的hudi的jar包2.1.2 拷贝Hive jar包到Flink lib目录2.1.3 Flink以及Flink SQL连接Hive的jar包2.2 重启hive2.3 Flink访问Hive表2.3.1 启动Flink SQL Client2.3.2 创建hive catalog2.3.3 切换 ca…

cpanel面板的虚拟主机重装wordpress

cpanel面板的虚拟主机重装wordpress很多朋友购买的虚拟主机都是采用的cPanel面板。想要重装WordPress的话&#xff0c;跟着以下步骤操作即可。登录cPanel管理后台&#xff0c;进入文件管理&#xff1b;删除网站的所有文件&#xff08;如果有需要请先备份然后下载到本地&#xf…

Ubuntu18.04 gRPC编译安装

一、CMake版本检查 grpc编译cmake要求最低版本为3.15。首先&#xff0c;cmake -version 查看当前cmake版本&#xff0c;如果低于3.15&#xff0c;按照以下步骤进行安装。 1.1 卸载已经安装的旧版的CMake sudo apt-get autoremove cmake 1.2 下载最新版本CMake CMake下载地…

2023年湖北中级工程师职称怎么评?甘建二告诉你

春季开始了&#xff0c;又到了职称评审正式申报提交资料的时候了&#xff0c;很多想评职称的小伙伴都不知道中级职称要怎么评&#xff1f;需要本人提供什么资料&#xff1f;配合哪些事情&#xff1f;怎么评一个中级职称呢&#xff1f;接下来甘建二老师跟您一起来看看&#xff1…

Redis性能问题排查指引

目录 Redis性能问题排查手段 1. 定位问题点 2. 定位Redis具体性能问题 参考&#xff1a; Redis性能问题排查手段 1. 定位问题点 当发生业务系统访问Redis慢或者超时异常时&#xff0c;可能的原因有以下三个&#xff1a; 客户端问题&#xff1a; 如果客户端使用的是Java版…

VueJS 之组件的生命周期

文章目录参考描述生命周期生命周期图示生命周期钩子组件创建阶段组件运行阶段组件销毁阶段举个栗子参考 项目描述搜索引擎Bing哔哩哔哩黑马程序员VueJS官方文档 描述 项目描述Edge109.0.1518.70 (正式版本) (64 位)操作系统Windows 10 专业版vue/cli5.0.8npm8.19.3VueJS2.6.1…

实战30:基于Open CV的车道线检测 附完整代码

车道线检测,在色彩切片、边界提取处,可以选用许多不同的方法来实现。色彩切片处是希望通过车道线的颜色特征:白色或者黄色来提取车道线,白色和黄色单独提取后两者图像相加便得到了同时含有白色车道和黄色车道的图像。色彩切片步骤的关键在于如何获得较为纯净的车道线,以让…

Java JVM:Java 内存模型与线程(七)

衡量一个服务性能的高低好坏&#xff0c;每秒事物处理数&#xff08;TPS&#xff09;是重要的指标之一&#xff0c;而 TPS 值与程序的并发能力又有非常密切的关系 目录一、硬件的效率与一致性二、Java 内存模型三、Java 与线程这里是看书笔记&#xff0c;之前文章也有相关介绍&…

操作系统权限提升(八)之系统错误配置-注册表键AlwaysInstall提权

系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权 操作系统权限提升(五)之系统错误配置-PATH环境变量提权 操作…

异质性区域下的宏观基本图构建

这是我们发表在Physica A: Statistical Mechanics and its Applications期刊上的一篇论文&#xff0c;主要是对现在的宏观基本图构建进行了一定的优化&#xff0c;论文详见&#xff1a;https://www.sciencedirect.com/science/article/pii/S0378437123000869 1.论文概述 论文…

stream操作常用API 示例详解

简介 从JDK8开始&#xff0c;增加了一新特性Stream流式操作&#xff0c;Stream中提供了非常多的API供大家使用&#xff0c;灵活的使用这些API&#xff0c;可以非常的方便且优美的实现我们的代码逻辑。 流式操作主要用来处理数据&#xff08;比如集合&#xff09;&#xff0c;…

Java两大工具库:Commons和Guava(4)

您好&#xff0c;我是湘王&#xff0c;这是我的CSDN博客。值此新春佳节&#xff0c;我给您拜年啦&#xff5e;祝您在新的一年中所求皆所愿&#xff0c;所行皆坦途&#xff0c;展宏“兔”&#xff0c;有钱“兔”&#xff0c;多喜乐&#xff0c;常安宁&#xff01;在Nginx中提到过…

说一下Vue组件中的自定义事件和全局事件总线

一&#xff0c;自定义事件 1.自定义事件是什么 自定义事件一种组件间通信的方式&#xff0c;适用于 子组件 ——> 父组件传输数据等 2.要在什么地方使用 若App是父组件&#xff0c;School是子组件&#xff0c;School想给App传数据&#xff0c;那么就要在App中给School绑…

MySQL表中的聚合查询

聚合查询在MySQL初阶中进行的查询都是对于同一条记录的列与列之间进行的运算,那如何对多条记录的不同行进行运算呢(比如计算所有同学某一单科的总分,某一单科的平均分)?此时就需要聚合查询来操作了!1.聚合函数函数 说明COUNT([DISTINCT] expr)返回查询到的数据的数量SUM([DIST…

pod访问不通问题--kube-proxy未正常创建

用户问题Pod创建后访问对象存储OSS不通。初步排查初步排查&#xff0c;网络连通性是OK的。再次反馈创建Pod后2分钟内可能存在业务不通。业务架构该集群采用了节点自动弹缩功能&#xff0c;节点弹缩范围在13-28之间。用户周期性创建大批量Pod&#xff0c;共300个&#xff0c;与对…

46_API接口漏洞

API接口漏洞 一、概念 api > application interface 应用接口 向特定的接口发送一个请求包 返回一个类似于json格式的字符串 二、REST型web service 可以从网上去搜索下api接口去理解,下面有个我找到的网址,给出api接口的分类 https://blog.csdn.net/t79036912/article…

Linux(Ubuntu)通过NFS服务挂载群晖NAS为虚拟磁盘

1. 设置NAS&#xff0c;共享目录 1. 文件服务 设置 首先进入NAS服务&#xff0c;打开 [控制面板] &#xff0c;在控制面版包含** 文件服务 ** 功能如图所示。 2.选中要共享的文件夹后&#xff0c;点击操作栏的 【编辑】 按钮&#xff0c;如图&#xff1a; 3.进入编辑面板后&a…

盘点三个超好用的截图软件

一款好用的截图软件往往能给人们带来更高的工作效率&#xff0c;目前市面上的截图软件已经很多&#xff0c;今天就给大家盘点一些好用的截图软件。 QQ截图 QQ截图软件是QQ内置自带的一款截图&#xff0c;快捷键ctrlA 可以唤起&#xff0c;其功能也是应有尽有包括屏幕录制&#…

【JavaScript】数据劫持(代理)详解

&#x1f4bb; 【JavaScript】数据劫持(代理)详解 &#x1f3e0;专栏&#xff1a;JavaScript &#x1f440;个人主页&#xff1a;繁星学编程&#x1f341; &#x1f9d1;个人简介&#xff1a;一个不断提高自我的平凡人&#x1f680; &#x1f50a;分享方向&#xff1a;目前主攻…

3万行代码硬撸一个一键发布文章工具,简直不要太好用,从此写文章,发文章,太简单了好伐

theme: channing-cyan highlight: github-gist 本人6年前端开发老鸟- 【程序员蜗牛】&#xff0c;欢迎沟通交流 操作演示&#xff08;视频&#xff09; 视频演示 项目背景 程序员工作中&#xff0c;不免会遇到一些技术难题&#xff0c;然后通过不懈努力将问题攻克&#xf…