Python_3、数据容器和函数进阶

news2024/11/16 3:43:47

目录

数据容器

列表(list)

元组(tuple)

字符串(str)

集合(set)

字典(dict)

序列的切片

函数


数据容器

        数据容器一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素 每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。 数据容器根据特点的不同,如: 是否支持重复元素 是否可以修改 是否有序,等 分为5类,分别是:

 

列表(list)

        列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套。可以容纳多个元素(上限为2**63-1、9223372036854775807个) 可以容纳不同类型的元素(混装) 数据是有序存储的(有下标序号) 允许重复数据存在 可以修改(增加或删除元素等)

#列表的定义十分自由
list1=[1,2,"3",4.0,True,[7,8,9]]
#列表的索引正向从0开始,反向从-1开始
print(list1[0],list1[-1])
#查找元素:
print(list1.index(2))
#插入元素:1是位置,5是值
list1.insert(2,5)
#删除元素:删除4.0两种方式
list1.pop(3)
del list1[3]
#追加元素 追加6到最后 两种方式
list1.append(6)
list1.extend(6)
#清空列表:
list1.clear()
#修改元素:
list1[2]=5
#统计某个元素个数:
list1.count()
#统计长度
len(list1)

元组(tuple)

        可以容纳多个数据 可以容纳不同类型的数据(混装) 数据是有序存储的(下标索引) 允许重复数据存在 不可以修改(增加或删除元素等) 支持for循环

#元组一旦定义完成,就不可修改
#定义一个元素的元组必需带逗号,否则不是元组类型
tup1 = (1,)
tup2 =(2,False,"ss")
#定位
tup2.index(2)
#某个元素出现次数
tup2.count(False)
#取长
len(tup2)

字符串(str)

        和列表、元组大差不差

#字符串 操作差不多,但是不可修改
# 字符串的一切修改得到的都是新的字符串
str =" 123abcd321 "
#字符串的规整操作(去前后空格)
str2=str.strip()
print(str2)
#字符串的规整操作(去前后指定字符串)
print(str2.strip("132"))
#统计某字符出现次数
print(str.count("2"))
#取长
len(str)
#分割 按b分割 不包含b
str3=str.split("b")
print(str3)
#替换
str4=str2.replace("123","456")
print(str4)

集合(set)

        不支持元素的重复(自带去重功能)、并且内容无序,不支持下标索引访问

#集合定义
set1={1,2,3,4,5,6,7}
set2={5,6,7}
#集合添加
set1.add(2)
#集合移除元素
set1.remove(3)
#集合随机抽取
set1.pop()
#集合清空
set1.clear()
#集合对比
set1.difference(set2)
#集合删除集合1中集合2含有的元素
set1.difference_update(set2)
#集合俩两个集合
set1.union(set2)
#集合取长
len(set1)

字典(dict)

        字典存储的元素是一个个的:键值对,字典同集合一样,不可以使用下标索引 但是字典可以通过Key值来取得和操作对应的Value

#字典的定义方式和集合类似只不过是键值对的形式
dir={"key1":1,"key2":2}
#新增
dir["key3"]=3
#更新
dir["key2"]=3
#删除
dir.pop("key2")
#清空
dir.clear()
#获取所有key
key=dir.keys()
#取长
len(dir)

序列的切片

        这里指的切片是不影响原有数据的

my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4]	# 下标1开始,下标4(不含)结束,步长1
print(new_list)		# 结果:[2, 3, 4]
my_tuple = (1, 2, 3, 4, 5)
new_tuple = my_tuple[:]	# 从头开始,到最后结束,步长1
print(new_tuple)		# 结果:(1, 2, 3, 4, 5)
my_list = [1, 2, 3, 4, 5]
new_list = my_list[::2]		# 从头开始,到最后结束,步长2
print(new_list)		# 结果:[1, 3, 5]
my_str = "12345"
new_str = my_str[:4:2]	# 从头开始,到下标4(不含)结束,步长2
print(new_str)		# 结果:"13"

my_str = "12345"
new_str = my_str[::-1]	# 从头(最后)开始,到尾结束,步长-1(倒序)
print(new_str)		# 结果:"54321"
my_list = [1, 2, 3, 4, 5]
new_list = my_list[3:1:-1]	# 从下标3开始,到下标1(不含)结束,步长-1(倒序)
print(new_list)		# 结果:[4, 3]
my_tuple = (1, 2, 3, 4, 5)
new_tuple = my_tuple[:1:-2] 	# 从头(最后)开始,到下标1(不含)结束,步长-2(倒序)
print(new_tuple)		# 结果:(5, 3)

 

函数

多返回值

        return 1,2,3,4

参数传递

  •         位置参数
  •         关键字参数
  •         缺省参数
  •         不定长参数
#位置参数
def fun1(a,b,c):
    print(a,b,c)
#关键字参数
def fun2(a,b,c):
    print(a,b,c)
#缺省参数
def fun3(a,b,c=5):
    print(a,b,c)
#不定长参数
def fun4(*args):
    print("666")

fun1(1,2,3)
fun2(a=1,b=2,c=3)
fun3(1,2)
fun4(1,2,3,4,5)

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

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

相关文章

校园文件发布系统|基于Springboot实现校园文章发布系统

作者主页:编程千纸鹤 作者简介:Java、前端、Pythone开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发、毕业设计开发、面试技术整理、最新技术分享 收藏点赞不迷路 关注作者有好处 文末获得源码 …

05---前后端实现分页查询

现在需要新加一个需求&#xff1a;实现分页查询&#xff0c;模糊查询&#xff0c;&#xff08;例如通过用户名查询出数据&#xff09; 从上往下修改 1、controller层 UserController.java GetMapping("/page")public Map<String,Object> findPage(RequestPar…

【HAL库】STM32CubeMX开发----STM32F407----读写W25N04KV外部Flash

STM32CubeMX 下载和安装 详细教程 【HAL库】STM32CubeMX开发----STM32F407----目录 一、W25N04KV 简介 W25N04KV 是 NAND Flash系列的&#xff0c;具有高存储密度&#xff0c;并且写入和擦除的速度也很快。W25N04KV 内存为&#xff1a;4G(bit)/512M(byte) 特点 芯片封装和引脚…

2023年智能无人系统与人工智能国际会议(SIUSAI 2023)

2023年智能无人系统与人工智能国际会议&#xff08;SIUSAI 2023&#xff09; 重要信息 会议网址&#xff1a;www.siusai.org 会议时间&#xff1a;2023年4月21-23日 召开地点&#xff1a;深圳 截稿时间&#xff1a;2023年3月10日 录用通知&#xff1a;投稿后2周内 收录检…

浏览器底部导航栏遮盖问题;app内嵌入h5底部导航下展示问题。

欧吼&#xff0c;算是遇到两次了这种问题。每次解决完都觉得很无语&#x1f92e; 先看问题如图&#xff08;怕公司说我泄露他们啥信息&#xff0c;于是打了非常离谱且难看的马赛克&#x1f60a;&#xff09;&#xff1a; 本来要在底部导航栏上方展示底部信息。 电脑上看倒是好…

向云而行 华为云桌面成数字办公首选

从事视频制作、动画设计等工作的专业人员一定深有体会&#xff0c;采用传统物理工作站制作一段30分钟的视频&#xff0c;仅渲染至少就要几个小时&#xff0c;漫长的等待也成了工作的一部分。随着数字化时代的来临&#xff0c;将包括生产制作、分发、变现等在内的媒体处理全流程…

EtherCAT I/O 马达控制机器人从站控制器设计

AX58100是一款高性价比EtherCAT从站控制器&#xff0c;其通过了Beckhoff Automation并且内建两个支持100Mbps全双工和HP Auto-MDIX的快速以太网物理接口。AX58100能支持所有的EtherCAT系统&#xff0c;包括标准EtherCAT设备&#xff08;例如CoE, FoE,VoE,等等&#xff09;。AX5…

Spring Security OAuth2简介

本文内容来自王松老师的《深入浅出Spring Security》&#xff0c;自己在学习的时候为了加深理解顺手抄录的&#xff0c;有时候还会写一些自己的想法。 OAuth2简介 OAuth是一个开放标准&#xff0c;该标准允许用户让第三方应用访问该用户在某一个网站上存储的私密资源&#xff0…

Java+MySQL基于ssm的图书馆图书借阅管理系统

本文介绍了图书馆管理设计方案,该网站采用目前JSP中最流行的SSM框架和Eclipse编辑器、MySQL数据库设计并实现的。网站功能包含系统用户管理、图书管理、用户管理、借书管理、续借管理、违章缴款管理等模块。概述了整个系统的设计框架,介绍了系统软件开发编译环境的搭建,阐述了各…

leetcodeSQL:1445. 苹果和桔子【case when + if】

目录题目截图题目分析case when写法if写法总结题目截图 题目分析 groupby的肯定是日期怎么根据fruit类型分类呢苹果就是&#xff0c;orange就是-可以用case when或者if然后来一个sum就可以了注意&#xff0c;这里直接在select后面跟着查就可以了 case when写法 # Write your…

艾美捷硝酸盐/亚硝酸盐荧光法检测试剂盒基本参数说明

一氧化氮&#xff08;NO&#xff09;由神经元、内皮细胞、血小板和中性粒细胞响应于稳态刺激产生微量。这种NO被迅速清除&#xff08;t4 s&#xff09;&#xff0c;并以旁分泌的方式传递细胞信号。NO与鸟苷酸环化酶的HEME辅基相互作用&#xff0c;激活酶并导致cGMP水平升高。其…

【十分钟学懂Linux操作系统】

&#x1f935;‍♂️ 个人主页老虎也淘气 个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f44d;&#x1f3fb; 收藏…

成本降幅达20%,效率增幅达3成,解读宝洁的供应链转型策略

从家里一部电话用N年&#xff0c;到手上的智能手机年年换&#xff1b;从单一的线下商场、超市&#xff0c;到随时随地的线上线下购物&#xff1b;从一个包裹等一个星期&#xff0c;到如今恨不得即买即达……短短的十年间&#xff0c;人们的消费习惯发生了翻天覆地的变化。数字化…

15基于峰谷分时电价引导下的电动汽车充电负荷优化(matlab程序)

参考文献 基于峰谷分时电价引导下的电动汽车充电负荷优化_欧名勇2020 主要内容 利用蒙特卡洛方法对&#xff12;种不同充电方式进行模拟并对其进行分析&#xff1b;分析用户响应度对电动汽车有序充电的影响&#xff0c;建立峰谷分时电价对电动汽车负荷影响的模型&#xff0c…

Hadoop学习----MapReduceYARN

Map Reduce 1、Map Reduce的思想核心是"先分再合&#xff0c;分而治之" 所谓"分而治之"就是把一个复杂的问题&#xff0c;按照一定的"分解"方法分为等价的规模较小的若干部分&#xff0c;然后逐个解决&#xff0c;分别找出各部分的结果&#xf…

SimpleFOC移植STM32(七)—— 移植STM32F405RGT6

目录说明一、点亮LED1.1、原理图1.2、硬件准备1.3、烧写二、开环控制2.1、硬件准备2.2、硬件连接2.3、打开工程2.4、修改参数2.5、编译下载&#xff0c;观察运行三、角度读取3.1、硬件准备3.2、硬件连接3.3、接线说明3.4、打开工程3.5、修改代码3.6、编译下载&#xff0c;观察运…

超1800万累计观看,多次占据热榜前列……“无障碍字幕直播间”带来的远不止这些!

截至12月6日&#xff0c;世界杯无障碍字幕直播间已累计观看超1800万&#xff0c;多次占据热榜前列……但TA带来的远不止这些。 “过去觉得世界杯距离我太远了&#xff0c;熬夜看球却听不懂、听不清只能紧紧盯着屏幕&#xff1b;但今年无障碍字幕直播间一出&#xff0c;似乎一下…

Talk预告 | 腾讯AI Lab研究员童湛南京大学谈婧:基于注意力机制的视频自监督表示学习和时序动作检测

本期为TechBeat人工智能社区第465期线上Talk&#xff01; 北京时间12月22日(周四)20:00&#xff0c;腾讯AI Lab研究员——童湛&南京大学计算机科学与技术系硕士研究生——谈婧的Talk将准时在TechBeat人工智能社区开播&#xff01; 他们与大家分享的主题是: “基于注意力机制…

在华为云桌面Workspace上,启泰智能工业设计效率翻倍

中国汽车的产销总量已经连续13年稳居全球第一&#xff0c;在一款新车开发中&#xff0c;大约有2万个汽车零部件&#xff0c;这些零部件的研发与制造&#xff0c;需要大量的工厂与各行业的协作&#xff0c;其中模具的需求量最大。 模具行业是一个非标、离散型的行业&#xff0c…

JavaSE笔记——泛型

文章目录前言一、简单泛型1.一个元组类库2.一个堆栈类二、泛型接口三、泛型方法1.变长参数和泛型方法2.一个泛型的 Supplier3.简化元组的使用4.一个 Set 工具四、构建复杂模型五、泛型擦除1.迁移兼容性2.擦除的问题3.边界处的动作六、补偿擦除1.创建类型的实例七、边界八、通配…