当前位置: 首页 > news >正文

Python 数据类型 (2)

1 集合类型:一维数组的集合

List列表是一个有序且可变的集合。允许重复成员。

turple元组是一个有序且不可更改的集合。允许重复成员。

Set集合是一个无序且无索引的集合。没有重复的成员。

dict字典是一个有序*且可变的集合。没有重复的成员。

!!!从 Python 3.7 版开始,字典才是有序的!!

2 列表类型(序列)

列表是使用方括号创建的:列表项值可以是任务数据类型

创建新列表时也可以使用 list() 构造函数

列表允许出现重复 由于列表已编入索引,因此列表可以包含具有相同值的项目:

mylist = ["一号", "二号", "三号"]
print(mylist)
mylist2=list["一号", "二号", "三号"]
print(mylist2)
mylist3 = ["一号", "四号", "三号","9号"]
print(mylist3)

支持根据需求列出列表值 1 单个索引,正常索引 :通过引用索引号来访问 注意:第一项的索引为 0。 2 负索引: 负索引意味着从头开始,-1指最后一项, -2指倒数第二项等。 3 索引范围 4 负指数范围

print(mylist[0])
print(mylist[-2])
print(mylist3[0:2])  #2不在内
print(mylist3[-2:-1])

可遍历列表 1 循环遍历列表for 。 2 遍历索引号 3 while循环遍历索引

for i in mylist :print(i)for i in range(len(mylist)):print([i])i =0
while i < len(mylist):print(mylist[i])i+=1

列表长度 len()函数表示

print(len(mylist))

检查列表是否存在符合条件的数据 指定数据 请使用in关键字。

print('四' in mylist3)
if '四号' in mylist3:print("数据存在")

更改列表值,可通过索引号 1 单索引 2 多索引 多个更改

mylist3[0]='五号啦'
print(mylist3)
mylist3[0:3]=['6号啦','对得了']
print(mylist3)

插入列表 从哪起插入,然后插入后,之前的数据往后,插入的数据是哪个就是第几个, 也可以指定位置添加数据

mylist4 = ["一号", "四号", "三2号","10号",'888']
mylist4.insert(1,'cahrule')
print(mylist4)     

末尾加数据 用将值添加到列表的末尾,请使用append() 方法:

mylist4.append("moweitianj")
print(mylist4)   

合并列表数据 将另一个列表中的元素附加到当前列表,请使用extend()方法。

注意:extend()方法不一定要 列表,您也可以添加任何可迭代对象(元组、集合、字典等)。

mylist4.extend(mylist3)

删除列表

删除指定目标 remove()方法

删除指定索引 pop()方法, 需要注意的是, 如果不指定索引,该pop()方法将删除最后一项。

del删除指定的索引 ,del关键字也可以完全删除列表, 也可以试试看看,但是会把列表删除找不到

mylist5 = ["一号", "四号", "三9号","10号",'8998']
mylist5.remove('一号')
print(mylist5)   
mylist5.pop(2)
print(mylist5)   
del mylist5[0]
print(mylist5)  
del mylist5
print(mylist5)  #数据列表不存在

clear()方法清空列表。该列表仍然存在,但没有内容。

mylist6 = ["一号", "四号", "三9号","10号",'8998']
mylist6.clear()
print(mylist6)  

列表排序 区分大小写的排序

默认情况下,该sort()方法区分大小写,导致所有大写字母都排在小写字母之前:

不区分大小写的排序 str.lower 作为键函数:

mylist8= ["ABH", "aboh", "sudi","13号",'234']
mylist8.sort()
print(mylist8)
mylist8.sort(key=str.lower)
print(mylist8)

倒序

reverse()方法反转元素的当前排序顺序。

mylist8.reverse()
print(mylist8)

复制列表 copy()方法制作列表的副本: list()方法制作列表的副本:

mcopylist=mylist8.copy()
mylisys=list(mylist8)
print(mcopylist)
print(mylisys)

3 字典类型

什么是元组,简单的理解就是将一堆数据存放到一个容器中

但这个容器有一个特点,就是很固执,一旦定义了之后就不可改变,从某种意义上来说元组就是不可以改变的列表,功能和列表类似,同样可以进行切片、修改等操作。

元组的定义和列表类似,在括号中添加元素,元素之间使用逗号隔开

my_tuple=(1,2,5,7)
print(my_tuple)

tuple()函数:此函数的作用有两个:(1)可以使用tuple()创建一个空的元组

my_blank=()
my_blank2=tuple()
print(type(my_blank2),my_blank2)

任意无符号的对象,以逗号隔开,默认为元组, 元组应该要放到括号中,列表应该放到中括号中,然后用逗号来分割里面的元素,但是如果你什么符号都不使用,仅仅用逗号分割多个元素,这个时候Python默认你传入的参数类型为元组

my_tuples=1,2,3,88
print(type(my_tuples),my_tuples)

需要注意的是 如果元组中只有一个元素的话,需要在元素的后面加上一个逗号,否则元组只有一个元素不加逗号话,那么python 并不会认为它是一个元组

my_tuple1=(1,)
my_tuple2=(1)
print(type(my_tuple1),my_tuple1)
print(type(my_tuple2),my_tuple2)

元组也可以定义一个二维元组或者多维元组 ,并能够进行遍历

my_tuple3=((1,3),(5,6))  #多维组遍历出来展示
for i in my_tuple3:print(i)for i in my_tuple3:  #列表数据遍历循环出来展示for cs in i:print(cs)

访问元组 访问和列表一样也是通过索引号来访问的 索引也是从0开始

my_tuple5=(1,2,5,7,9,3)
print(my_tuple5[0])

访问元组中某个范围元素的时候,此时就需要使用到切片的操作 和list 用法很多相似

print(my_tuple5[0:3])
print(my_tuple5[-3:-2])

将对应数据类型转换成元组

str='好的'
mytuple=tuple(str)
print(type(mytuple))

最大值 最小值

print(max(my_tuple5))
print(min(my_tuple5))

index()函数: 查找元组中某个元素在元组中的位置,如果元素出现多次则返回元素第一次出现的索引 index()函数,如果不指定范围,默认是查找整个元组,我们也可以指定范围

print(my_tuple5.index(1))

count()函数:统计元素出现的次数

print(my_tuple5.count(3))

和列表区别 由于元组是不可以修改的,所以使用元组最大的好处就是保证数据安全,一旦数据确定就无法修改其内容,除非你使用del指令将整个元组删除。

4 元组类型

http://www.lryc.cn/news/269203.html

相关文章:

  • 【教程】自动检测和安装Python脚本依赖的第三方库
  • 0开始配置Cartographer建图和导航定位
  • Python中使用SQLite数据库的方法2-2
  • 零代码也能玩出花:Mugeda在H5设计中的魔法力量
  • 分布式、CAP 和 BASE 理论
  • django之drf框架(两个视图基类、5个扩展视图类、9个视图子类)
  • 23种设计模式学习
  • php 8.4 xdebug扩展编译安装方法
  • 66biolinks v42.0.0 已注册 – 生物短链接、URL 缩短器、QR 码和 Web 工具 (SAAS) 源码
  • 《Vue2.X 进阶知识点》- 防 ElementUI Divider 分割线
  • 【第十二课】KMP算法(acwing-831 / c++代码 / 思路 / 视频+博客讲解推荐)
  • JSON 简介
  • Impala4.x源码阅读笔记(三)——Impala如何管理Iceberg表元数据
  • Ubuntu2204配置samba
  • AVL树(超详解)
  • 禁止浏览器记住密码和自动填充 element-ui+vue
  • K8s实战-init容器
  • Vue3.2 自定义指令详解与实战
  • XV-3510CB振动陀螺仪传感器
  • 设计模式Java向
  • 图片素材管理软件Eagle for mac提高素材整理维度
  • Transformer各模块结构详解(附图)
  • Python遥感影像深度学习指南(2)-在 PyTorch 中创建自定义数据集和加载器
  • 韩版传奇 2 源码分析与 Unity 重制(三)客户端渲染管线
  • 深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第三节 栈与堆,值类型与引用类型
  • 分享好用的chatgpt
  • 【小白专用】C# 压缩文件 ICSharpCode.SharpZipLib.dll效果:
  • Protobuf 编码规则及c++使用详解
  • Kafka优异的性能是如何实现的?
  • (二)MaterializedMySQL具体实施步骤举例