
python高级数据类型(python可以处理类型有数字、字符串、列表、元组、字典等)
Contents
- 字符串及常用方法
- 列表及常用方法
- 元组
- 字典及常用方法
- 共有操作
序列:在python中,序列是一组按照顺序排列的值【数据集合】
在python中存在三种内置的序列类型:(字典、集合不属于序列)
- 字符串
- 列表
- 元组
序列的优点:可以支持索引和切片的操作(切片是指截取字符串中的其中一段内容。切片使用语法:[起始下标:结束下标:步长] 切片截取的内容不包含结束下标对应的数据,步长指的是隔几个下标获取一个字符)
切片的高级特性:可以根据下标来获取序列对象的任意部分数据【支持字符串/列表】
切片语法结构:[start:end:step] step默认1 左闭右开)
print(strMsg[2:])#第二个不写,表示到最后 print(strMsg[:3])#0可以省略掉 print(strMsg[::-1])#倒叙输出,负号表示方向,从右往左遍历
*下标会越界,切片不会
序列的特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端
字符串及常用方法:
- capitalize() #首字母变大写
- endswith/startswith() #是否x结束/开始
- find() #检测x是否在字符串中(返回数字是对应的索引值,没有找到目标返回值为-1,和index很像)
- isalnum() #判断是否是字母和数字
- isalpha() #判断是否是字母
- isdigit() #判断是否是数字
- islower() #判断是否是小写
- join() #循环取出所有值用xx去连接
- lower/upper #大小写转换(所有字母)
- swapcase #大写变小写,小写变大写
- lstrip/rstrip/strip #移除左/右/两侧空白(删除是暂时的,除非将修改后的结果存回到变量中)
- split() #切割字符串
- title() #把每个单词的首字母变成大写
- replace(old,new,count=None) #old被换字符串,new替换字符串,count换多少个,无count表示全部替换
- count() #统计出现的次数
- index() #检测字符串中是否包含子字符串,显示下标值,没有找到会报异常,不同于find
- + #“+”用于合并字符串
- \t #添加制表符
- \n #添加换行符(制表符与换行符可以同时使用)
- * #复制字符串
*index如果没有找到对象的数据,便会报异常,而find函数不会,找不到就返回
*字符串也是不可变的,如果重新赋值,会开辟新的存储空间
*单引号或双引号表示字符串都可以,但要注意,字符串中有单引号时,表示字符串的符号应该选择双引号,否则系统会判断不清楚
*a=b #将b的值赋值给a(赋值的是相同的内存地址) #是对一个内存地址的引用,他两是在一个内存地址
列表(list):python中非常重要的数据结构,是一种有序的数据集合
用for循环可以将列表中的元素一个一个取出,取完后退出循环
特点:
- 支持增删改查
- 列表中的数据是可以变化的【数据项可以变化,内存地址不会改变】
- 用 [ ] 来表示列表类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据
- 支持索引和切片来进行操作
- 鉴于列表通常包含多个元素,通常给列表指定一个表示复数的名称(如letters,digits或names)
列表及常用方法:
- append 在列表后面追加元素(最后边加入)
- count 统计元素出现的次数
- extend 扩展,相当于批量添加
- index 获取指定元素索引号
- insert 在指定位置插入 需要新元素的索引和值:(列表名.insert(索引值,新元素))
- pop 删除最后一个元素(未指定索引),也可根据索引移除,可接着使用它的值
- del 删除已知索引的元素,不可再接着使用它
- remove 移除左边找到的第一个元素,根据值移除
- reverse 反转列表,不是按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序,其是永久性的修改列表元素的排列顺序,但是随时可调整回原来的排序顺序,只需再次调用reverse方法
- sort 列表排序(永久性修改) reverse=True 倒序----参数;例如cars.sort(reverse=True)
- sorted 列表排序(暂时修改,原始未变)reverse=True倒叙---参数;例如print(sorted(cars))
- len 确定列表的长度
* 可以对任何列表里的元素调用上述的字符串方法,例如使用title()让元素的格式更整洁
例如:print(bicycle[0].title())
*将索引指定为-1时,可让python返回最后一个列表元素,适用于列表长度不知,想输出最后一个元素,以此类推,-2输出倒数第二个元素,-3输出倒数第三个元素;仅当列表为空时,会报错
*修改列表的元素值,直接使用索引并赋新的值即可
*使用排序操作时,需要保证所有的值都是小写的
print(list*2)#连续输出两次数据 #删除操作 listB=list(range(10,50)) print(listB) del listB[1:3] #批量删除多项数据(del后边是空格) print(listB) #移除操作:pop&remove listB.remove(20)#移除指定的元素 print(listB) listB.pop(1)#移除指定的项,不同于remove,参数是索引值,而remove移除的是具体的值
数值列表
函数range()可用于生成一系列数字,是左闭右开,range(1,5)不会输出数字5
range(起始值,终止值,步长)
输出数字列表,需要list(range(1,5))
数值列表的常用方法:
min #数字列表的最小值
max #数字列表的最大值
sum #数字列表所有数值的总和
元组:是一组不可变的序列,在创建之后不能做任何修改
特点:
- 不可变
- 用小括号 ( ) 来创建元组类型,数据项用逗号来分割
- 可以是任何的类型(可以嵌套列表,例如[11,22,33])
- 当元组中只有一个元素时,要加上逗号,不然后解释器会当作整形来处理 (例:tupleB=('1',),不然解释器会当作整型来处理)
- 同样可以支持切片操作
- 使用方法同上
*对元组中的列表类型的数据可以进行修改 *重复对一个元组赋值,得到的内存空间也不同,因为其不可修改,所以新建了一个内存空间去保存元组
字典:可以存储任意对象,是以键值对的形式创建的{‘key’:'value'}利用大括号包裹着,通常使用键来访问数据,效率非常高,和list一样,支持对数据的添加删除修改,字典里的键(key)不能重复,值(value)可以重复,键(key)只能是不可变类型,如数字,字符串,元组,字典的值可以是任何对象,可以是数字,字符串,列表乃至字典
特点:
- 不是序列类型 没有下标的概念,是一个无序的 键值组合,是内置的高级数据类型
- 用 { } 来表示字典对象,每个键值对用逗号分割
- 键 必须是不可变的类型【元组、字串符】 值可以是任意的类型
- 每个键必定是唯一的,如果存在重复的键,后者会覆盖前者
字典常用方法:
- 修改元素 字典名['键值名']=新的值
- 新增元素
- 删除元素
- 统计个数
- 获取键:keys 用for循环取出每个key值
- 获取值:values
- 获取键值对
- 删除指定键 pop('健')删除指定键/del语句(永远消失),注意两种的使用语句不太一样
- sort 列表排序(永久性修改) reverse=True 倒序----参数;例如cars.sort(reverse=True)
- sorted 列表排序(暂时修改,原始未变)reverse=True倒叙---参数;例如print(sorted(cars))
- len 确定列表的长度
*字典不可以用索引,因此也不可使用切片操作
*键值对的存储顺序和添加顺序或遍历时的返回顺序不同,Python不关心键值对的添加顺序,而只关心键和值之间的关联
*可以存储多个对象关于同一信息的值
*多行字典,注意使用方式, 统一缩进4格,花括号对齐,每一行要加上逗号,同时最后一个键值对后面也要加上逗号,为以后在下一行添加键值对做好准备
favourite_languages = {
'jen': ''python,
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
#如何创建字典
dictA={"pro":'艺术','school':'北京电影学院'}#每一项就是一个键值对,通过:连接
print(type(dictA))
dictA['name']='李易峰'#[]里的是健,=后边的是值
dictA['age']=30
dictA['pos']='歌手'
#添加字典的数据
print(dictA['name'])#通过键获取对应的值
#修改键对应的值
dictA['name']='谢亭丰'
或者dictA.update({'age':32})
dictA.update({'height':180})#update可以用来增加和修改
print(dictA)
#获取所有的键
print(dictA.keys())/for key(变量名可变) in 字典名.keys():#这里变量名存储遍历结果#因为遍历字典会默认遍历所有的键,因此,入伏哦将keys()去掉,输出将不变
#使用keys做列表
if ‘erin’ not in dict.keys():##方法ksys()并非只能用于遍历,实际上,它返回一个列表,其中包含字典中所有的键,因此可用于核实信息
#获取所有的值
print(dictA.values())/for values(变量名可变) in 字典名.values():#这里变量名存储遍历结果
#获取所有的数据项,包括键和值
print(dictA.items())/for key,value(变量名可变) in 字典名.items():#这里变量名存储遍历结果
#删除操作
del dictA['name']#删除指定的键,也可以通过pop来操作
dictA.pop['age']
#字典实现排序,按照key排序,字母通过asc码比较排序,d[0]代表key
print(sorted(dictA.items(),key=lambda d:d[0]))/for key in sorted(dict.keys())#因为keys相当于返回一个列表,加了一个sorted直接对其排序
#根据key或者value,谁有意义根据谁排序
#字典实现排序,按照value排序
print(sorted(dictA.items(),key=lambda d:d[1]))
#对字典的值去重
for name in set(dict.values()):#set也是一种数据类型
#要注意比较的值类型是否相同,不相同需要改为一致的
公用方法:
- 合并操作:两个对象相加操作,会合并两个对象
- 复制:对象自身按指定次数进行+操作
- in判断元素是否存在:判断指定元素是否存在于对象中(返回布尔数值)/not in 判断不存在
#共有方法的操作+,*,in strA='人生苦短' strB='我用python' print(strA+strB) print(strA*3) print('生' in strA)#对象是否存在
本文详细介绍了Python的高级数据类型,包括字符串、列表、元组和字典的常见操作。字符串支持索引、切片及多种方法如capitalize()、split()等。列表是一种有序数据集合,支持增删改查,常用方法有append()、sort()等。元组是不可变序列,而字典则以键值对形式存储数据,提供了便捷的访问方式。这些数据类型构成了Python的强大功能。

874

被折叠的 条评论
为什么被折叠?



