Python---⾼级数据类型
序列:在Python中,就是⼀组按照顺序排列的值(数据集合)
存在三种内置的序列类型:字符串、列表、元组
优点:可以⽀持索引和切⽚的操作
特征:第⼀个正索引为0,指向的是左端;第⼀个索引为负数的时候,指向的是右边。
字符串
切⽚:截取字符串中的其中⼀段内容。
切⽚使⽤语法:[起始下标:结束下标:步长],slice[start,e nd:step]
步长默认为1,截取的内容不包括结束下标对应的数据,步长指隔⼏个下标获取⼀个字符。
常⽤⽅法:
1. capitalize() :⾸字母变⼤写
2. endswith/startswith():是否 x结束/开始
3. find() :检测x 在字符串中的下标值,不到返回-1.
4. index():检测字符串中是否包含⼦字符串,返回下标值,没有到对象会报错。
5. isalnum():判断是否是字母和数字
6. isalpha():判断是否是字母
7. isdigit():判断是否是数字
8. islower():判断是否是⼩写
9. join():循环取出所有值⽤xx 去连接
10. lower/upper():⼤⼩写转换
11. swapcase():⼤写变⼩写,⼩写变⼤写
12. lstrip/rstrip/strip:移除左/右/两侧空⽩
13. split():切割字符串
14. title():把每个单词的⾸字母变成⼤写
15. replace(old,new,count=None):old-被换字符串,new-替换字符串,count-换多少个。⽆count表⽰全部替换。
16. count():统计出现的次数
列表
list:是⼀阵有序的数据集合
特点:
1. ⽀持增删改查
2. 列表中的数据可以变化,数据项可以变化,内存地址不会变化。
3. ⽤[] 来表⽰列表类型,数据项之间⽤逗号来分隔,数据项可以是任何类型的数据。
4. ⽀持索引和切⽚的操作
查:
list=[123,'asdc',12.45,True]
print(list) #输出完整的列表
print(list[0]) #输出第⼀个元素
print(list[1:3]) #从第⼆个元素开始到第三个元素
print(list[2:]) #从第三个元素开始到最后所有的元素
print(list[::-1]) #负数从右向左开始输出
print(list*2) #输出多次列表中的数据(复制)
添加:
lists.append('dddd')
lists.append([123,'sddd']) #追加操作
lists.insert(1,'ssssss') #插⼊操作,需要指定⼀个位置插⼊
print(lists)
rsData=list(range(10)) #强制转换为list对象
print(lists)
修改:
lists[0]='lllllq'
删除:
del lists[0] #删除列表中的第⼀个元素
del lists[1:3] #批量删除多项数据,slice
lists.pop(1) #移除指定的项,参数是索引值
print(lists)
常⽤⽅法:
1. append():追加
2. len():可以获取到列表对象中的数据个数
3. index():返回的是⼀个索引下标
元组
是⼀种不可变的序列,在创建之后不能做任何的修改
特点:
1. 不可变
2. ⽤()创建元组类型,数据项⽤逗号来分隔
3. 可以是任何类型
4. 当元组中只有⼀个元素时,要加上逗号,否则解释器会当做整型来处理
5. ⽀持切⽚操作
# 元组的创建
tupleA=() #空元组
tupleA=('aaa',12,45,'ddd',[11,22,33])
print(tupleA)
# 元组的查询
for item in tupleA:
print(item,end=' ')
pass
print(tupleA[2:4])
print(tupleA[::-1])
print(tupleA[::-2]) #表⽰反转字符串,隔⼀个取⼀次
print(tupleA[-2:-1:])#倒着取字符串,最右边为-1,【-2,-1)
tupleA[4][0]=44 #可以对元组中的列表类型的数据进⾏修改
print(tupleA)
tupleB=(1,2,3,4,3,2,1,4,4)
unt(4)) #可以统计元素出现的次数
字典
可以存储任意对象,字典以键值对的形式创建的 {'key':'value'} 。
通常使⽤键来访问数据,效率⾮常⾼,和list⼀样,⽀持对数据的添加、修改、删除
特点:
1. 不是序列类型,没有下标的概念,是⼀个⽆序的键值集合,是内置的⾼级数据类型
2. ⽤{} 来表⽰字典对象,每个键值对⽤逗号分隔
3. 键必须是不可变的类型(元组、字符串),值可以是任意类型
4. 每个键必定是唯⼀的,如果存在重复的键,后者会覆盖前者
常⽤⽅法:
# 创建字典
dictA = {'pro':'艺术','school':'学校'} #空字典
# print(type(dictA))
# 添加字典数据
dictA['name']='可可' #key:value
print(len(dictA)) #数据项长度
print(dictA['name']) #通过键获取对应的值字符串切片截取
dictA['name']='jiojio' #修改键对应的值
dictA.update({'age':23}) #可以添加或更新数据
#获取所有的键
print(dictA.keys())
#获取所有的值
print(dictA.values())
#获取所有的键值对
print(dictA.items())
for key,value in dictA.items():
print('%s==%s'%(key,value))
# 删除操作
del dictA['name'] #通过指定的键来删除
dictA.pop('age')
print(dictA)
# 如何排序按照key排序 key
sorted(dictA.items(),key=lambda d:d[0])
# 如何排序按照value排序 value
sorted(dictA.items(),key=lambda d:d[1])
公⽤⽅法:
合并操作 + :两个对象相加操作,会合并两个对象。适⽤于字符串、列表、元组
复制 * :对象⾃⾝按指定次数进⾏ + 操作。适⽤于字符串、列表、元组
in 判断元素是否存在:判断指定元素是否存在于对象中。适⽤于字符串、列表、元组、字典# 合并 +
strA = 'kkk'
strB = 'nnnn'
print(strA+strB)
listA = list(range(10))
listB = list(range(11,20))
print(listA+listB)
# 复制 *
print(strB*2)
print(listB*3)
# in 对象是否存在结果是⼀个bool值
print('n' in strB)
print(10 in listA)
dictA = {'name':'peter'}
print('name' in dictA)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论