Python 自学 day03 容器tuple(元组)的定义与使用,序列,字典,集合,多返回值传递,不定长参数函数

news2024/11/20 14:58:12

1. tuple 元组

1.1 元组的定义

定义:元组同列表一样,都是可以封装多个、不同类型的元素在内。但最大的不同点在于:
元组一旦定义完成﹐就不可修改。


1.2 元组的创建方法

t1 = (1,'111','1111',11,'1111',222)  #元组的定义方法  
t2 = (22,)                           #注意当我们的定义元组的时候  元组内只有一个元素,这时候我们需要在后面加一个 逗号
t3 = (22)
print(f"t1的类型是{type(t1)},t1的内容是{t1}")
print(f"t2的类型是{type(t2)},t2的内容是{t2}")
print(f"t3的类型是{type(t3)},t1的内容是{t3}")

注意当我们的定义元组的时候  元组内只有一个元素,这时候我们需要在后面加一个 逗号


 1.3  元组嵌套的创建

t1 = ((1,'111','1111'),(11,'1111',222))  #嵌套元组的定义方法  
print(f"t1的类型是{type(t1)},t1的内容是{t1}")


1.4 元组的相关函数操作

编号方法作用
1index()查找某个数据,如果数据存在返回对应的下标,否则报错
2count()统计某个数据在当前元组出现的次数
3len(元组)统计元组内的元素个数
4sorted(元组)对元组的内容重新排序


1.4.1 函数的样例



 2. 序列 

2.1 序列的定义

定义:序列是指:内容连续、有序,可使用下标索引的一类数据容器列表、元组、字符串,均可以可以视为序列。


2.2 序列的常用操作 - 切片  (不包含结尾本身)


3.集合

3.1集合的含义

含义: 集合支持重复元素,主要特点就是 不支持元素的重复(自带去重效果),并且内容无序。


3.2 集合的定义

t1 = {1,2,3,4,5,6,7,8,9}
print(f"t1的类型是{type(t1)},t1的内容是{t1}")
t2 = {1,1,2,2,3,3}
print(f"t2的类型是{type(t2)},t2的内容是{t2}")


 3.3 集合的函数

3.3.1  添加新元素 add()


3.3.2  移除元素  remove()


3.3.3 随机取出一个元素  pop()

 注意:数字的集合会取最小的数(但不是负数), 字符串的集合是随机取!!1


3.3.4 清空一个集合  clear()

t1 = {-1,1,2,3,4,5,6,7,8,9}
print(f"t1的类型是{type(t1)},t1的内容是{t1}")
t1.clear()                                               #数字的集合会取最小的数(但不是负数), 字符串的集合是随机取
print(f"t1的类型是{type(t1)},t1的内容是{t1}")           #set() 是一个空的集合


3.3.5 取出两个集合的差集  difference()


3.3.6 两个集合的并集  union()

 


3.3.7  统计集合的元素个数  len()



4.字典

4.1 字典的定义  (字典里面的元素 key 的值不允许相同)

        4.1.1 怎么定义这个字典

        


        4.1.2 怎么从字典里面获取值

        


4.2 字典的嵌套定义 和使用

t1= {'大哥':{'语文':19,'数学':20,'英语':21},'小弟':{'语文':20,'数学':21,'英语':22},'大哥':{'语文':21,'数学':22,'英语':23}}      #嵌套式字典的定义 (字典里面 value = 字典)
t2= t1['大哥']['语文']
print(f"t1的类型是{type(t1)},t1的内容是{t1}")
print(f"t2的值是{t2}")


 4.3  字典新增元素  (更新元素的value 和这个差不多)

t1= {'大哥':{'语文':19,'数学':20,'英语':21},'小弟':{'语文':20,'数学':21,'英语':22},'大哥':{'语文':21,'数学':22,'英语':23}}      #嵌套式字典的定义 (字典里面 value = 字典)
print(f"t1的类型是{type(t1)},t1的内容是{t1}")  
t1['小红']= {'语文':30,'数学':40,'英语':50}   #添加元素的办法
print(f"t1的类型是{type(t1)},t1的内容是{t1}")


4.4  删除元素 pop(Key)


4.5  清空字典    字典.clear()

t1= {'大哥':{'语文':19,'数学':20,'英语':21},'小弟':{'语文':20,'数学':21,'英语':22},'大哥':{'语文':21,'数学':22,'英语':23}}      #嵌套式字典的定义 (字典里面 value = 字典)
print(f"t1的类型是{type(t1)},t1的内容是{t1}")  
t1.clear()
print(f"t1的类型是{type(t1)},t1的内容是{t1}")  


4.6 获取全部的key    字典.Key()

t1= {'大哥':{'语文':19,'数学':20,'英语':21},'小弟':{'语文':20,'数学':21,'英语':22},'大哥':{'语文':21,'数学':22,'英语':23}}      #嵌套式字典的定义 (字典里面 value = 字典)
print(f"t1的类型是{type(t1)},t1的内容是{t1}")  
t2= t1.keys()
print(f"t2的类型是{type(t2)},t2的内容是{t2}")  


 4.7 字典的遍历  (for循环)

t1= {'大哥':{'语文':19,'数学':20,'英语':21},'小弟':{'语文':20,'数学':21,'英语':22},'大大哥':{'语文':21,'数学':22,'英语':23}}      #嵌套式字典的定义 (字典里面 value = 字典)
print(f"t1的类型是{type(t1)},t1的内容是{t1}")  
t2= t1.keys()
print(f"t2的类型是{type(t2)},t2的内容是{t2}")  
for key in t1:
    print(f"{key}:",end='')
    print(f"{t1[key]}")


 4.8 字典里面的元素个数  len()

t1= {'大哥':{'语文':19,'数学':20,'英语':21},'小弟':{'语文':20,'数学':21,'英语':22},'大大哥':{'语文':21,'数学':22,'英语':23}}      #嵌套式字典的定义 (字典里面 value = 字典)  
t2 = len(t1)
print(f"t2={t2}")



5. 容器的总结

5.1 容器的简单分类


5.2  容器的应用场景


5.3 容器通用函数



 6. 字符串比大小的方法    (直接比较运算符)

n1 = 'abc' > 'aaa'
print(f"n1的类型是{type(n1)},n1的值是{n1}")
n2 = 'a' > 'ab'
print(f"n2的类型是{type(n2)},n2的值是{n2}")
n3 = 'abc' > 'b'
print(f"n3的类型是{type(n3)},n3的值是{n3}")



 7. 函数多个返回值

7.1 函数多个返回值的定义


8.关键字参数的 函数定义方法

8.1 关键字参数的定义方法


 8.2 缺省函数的定义方法


8.3  不定长度参数传输


         8.3.1 不定长度参数传输  -- 位置传输

        


        8.3.2    不定长度参数传输  --  关键字传递

        


8.4 多参数传递总结



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

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

相关文章

Postman+Newman+Git+Jenkins+Slack 接口自动化和监控

目录 前言: 一、Newman 介绍: 1、简介 2、安装 3、检查 4、运行 二、Newman 命令行介绍: newman run [options] 测试结果配置 ------------------------------------分 割 线----------------------------------------------------…

2023年最新水果编曲软件FL Studio Producer Edition 21.0.3 Build 3517中文完美至尊解锁免费下载安装激活详细教程

fl studio21.0.3.3517中文解锁特别版是一款功能强大的编曲软件,也就是众所熟知的水果软件。它可以编曲、剪辑、录音、混音,让您的计算机成为全功能录音室。除此之外,这款软件功能非常强大,为用户提供了许多音频处理工具&#xff0…

《红蓝攻防构建实战化网络安全防御体系》读书笔记

作者:奇安信安服团队 ◆ 1.3 红队 各个团队在演练中的角色与分工情况如下。目标系统运营单位:负责红队整体的指挥、组织和协调。安全运营团队:负责整体防护和攻击监控工作。攻防专家:负责对安全监控中发现的可疑攻击进行分析和研…

LiveNVR监控流媒体Onvif/RTSP功能-安全控制HTTP接口鉴权开启禁止游客访问开启后401 Unauthorized如何播放调用接口

LiveNVR安全控制HTTP接口鉴权开启禁止游客访问开启后401 Unauthorized如何播放调用接口? 1、安全控制1.1、接口鉴权1.2、禁止游客访问 2、401 Unauthorized2.1、携带token调用接口2.1.1、获取鉴权token2.1.2、调用其它接口2.1.2.1、携带 CookieToken2.1.2.2、携带 U…

VUE- quill-editor 编辑器使用及自定义toobar详解

vue使用编辑器&#xff0c;这里讲解编辑器quil-editor 官网&#xff1a;https://quilljs.com/docs/modules/toolbar 1&#xff1a;安装quill-eidtor npm i quill1.3.6 --save 2&#xff1a;创建一个页面&#xff0c;再template里写入 <template><div class"…

@ConditionalOnMissingBean 不生效

还要一点需要注意的是 有顶级接口类型写接口类型,像下面这个也控制不住加载多个相同类型的Bean,因为父类最先加载,子类之间不能算作同一种类型Bean

Git详细安装教程

对于Git这块&#xff0c;我也算是个小白&#xff0c;最近在学习Git&#xff0c;所以趁此机会详细讲解一下Git的安装教程以及安装过程中遇到的问题&#xff0c;也欢迎大家对其补充&#xff0c;共同进步&#xff01; 1、下载Git Git的下载地址&#xff08;windows系统&#xff…

【STM32CubeIDE】 stm32f103的内部Flash读写,double数值读写

单片机stm32f103c8t6&#xff0c;程序存储器64Kb&#xff1a; 对其最后一页&#xff0c;第63页进行读写操作&#xff0c;空间1Kb。 写入一个32位的数据0x12345678到Flash首地址为0x0800FC00.则在Flash中存储情况如下&#xff1a; 即&#xff0c;低位地址存储数据的低位&#xf…

Python实现简易计算器

文章目录 一、需求分析1.1 功能分析1.2 性能分析 二、技术原理三、详细设计3.1 导入tkinter库3.2 定义全局变量3.3 定义添加函数3.4 定义结果函数3.5 定义清空函数3.6 创建主窗口并指定其大小和位置3.7 创建输入框3.8 创建数字和运算符按钮3.9 创建等于号和清除按钮 四、功能实…

解决打开excel时报错 “不能使用对象链接和嵌入”

问题截图 打开excel文件或者插入对象时&#xff0c;直接弹出不能使用对象链接和嵌入报错信息。 解决方法 按 winr 组合快捷键&#xff0c;打开运行&#xff0c;输入 dcomcnfg.exe 按回车确定 此时进入到组件服务管理界面&#xff0c;依次选择 组件服务-计算机-我的电脑-DOCM…

Vue+Node(Egg框架)实现文件上传保存至本地和下载文件

文章目录 1、前端代码2、后端代码 本文Node搭建的服务器是基于egg框架搭建&#xff0c;如果使用其他服务器端框架&#xff0c;可参考部分代码&#xff0c;不保证所有框架都能实现 实现效果&#xff1a; 1、前端代码 前端部分vue利用的element-ui文件上传组件&#xff0c;相关…

C++服务器框架开发11——编译调试1/cmake学习

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见&#xff1a;[C高级教程]从零开始开发服务器框架(sylar) 上一篇&#xff1a;C服务器框架开发10——日志系统1~9代码 C服务器框架开发11——编译调试1/cmake学习 目前进度ubuntu下的cmake学习简单样例同…

【论文笔记】SINE: SINgle Image Editing with Text-to-Image Diffusion Models

声明 不定期更新自己精度论文&#xff0c;通俗易懂&#xff0c;初级小白也可以理解 涉及范围&#xff1a;深度学习方向&#xff0c;包括 CV、NLP 论文标题&#xff1a;SINE: SINgle Image Editing with Text-to-Image Diffusion Models 论文链接&#xff1a;https://www.seman…

ESXI 安装win10详细步骤

在esix安装win10安装过程遇到了坑&#xff0c;发现必须对具体选项进行设置后才可&#xff0c;做下记录&#xff1a; 1、CPU设置 &#xff12;、硬盘 3、网络适配器 4、驱动器 5、虚拟机选项

LangChain大型语言模型(LLM)应用开发(四):QA over Documents

LangChain是一个基于大语言模型&#xff08;如ChatGPT&#xff09;用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口&#xff0c;可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…

动手学深度学习——图像分类数据集(代码详解)

目录 1. 图像分类数据集1.1 读取数据集1.2 读取小批量1.3 整合所有组件1.4 小结 1. 图像分类数据集 这里采用Fashion-MNIST数据集 torchvision&#xff1a;torch类型的可视化包&#xff0c;一般计算机视觉和数据可视化需要使用from torchvision import transforms&#xff1a;…

kotlin forEach循环return/break

kotlin forEach循环return/break fun main(args: Array<String>) {var a mutableListOf("0", "1", "2", "3", "4")var b mutableListOf<String>()a.forEachIndexed { index, s ->if (index > 2) {retu…

CGY-OS 正式开源!

一个初中生自己编写的一个很LOW的“OS”&#xff0c;编写不易&#xff0c;不喜勿喷&#xff1b;耗时巨大&#xff0c;引用时请说明。 接下来&#xff0c;让我们一起学习使用cgyOS。 零、配置 下载本程序后&#xff0c;在Python3.10环境下使用pip安装pygame和keyboard的最新版本…

Java二叉树

目录 一、树形结构 1.1 概念 1.2 树的性质 1.3 树的表示形式 二、二叉树 2.1 概念 2.2 两种特殊的二叉树 2.3 二叉树的性质 2.4 二叉树的存储 2.5 二叉树的基本操作 2.5.1 二叉树的遍历 2.5.2 二叉树的基本操作 一、树形结构 1.1 概念 树是一种非线性的数据结构&#xff0…

H3C-Cloud Lab-实验-DHCP中继实验

实验需求&#xff1a; 1、按照图示配置IP地址 2、配置R1为DHCP服务器&#xff0c;能够跨网段为192.168.2.0/24网段自动分配IP地址。要求分配DNS地址为202.103.24.68和202.103.0.117 3、PC3获取IP地址后&#xff0c;能够访问到192.168.1.1 实验拓扑图&#xff1a; 连接CRT 设…