python02——高级数据结构
1.字符串及常用方法
序列:一组顺序排列的值,3种类型(字符串、列表、元组)
特征:支持索引和切片,索引值从0位开始
切片:不可越界,可根据序列对象获取任意数据,【起始下标:结束下标:步长】
test='pythonhhhhhhh' print(test[0:10:2]) print(test[::-1])#倒叙输出
常用函数
capitalize()——首字母变大写
name='yangh' print(name.capitalize())
endswith/starts()——是否x结束/开始
index(x)——测x是否在字符串中,没找到报错
find(x)——检测x是否在字符串中,没找到返回-1
a='fdgerfsdfwe' print(a.find('f'))
isalnum()——判断是否是字母和数字
isalpha()——判断是否是字母
isdigit()——判断是否是数字
islower()——判断是否是小写
join()——#循环取出所有值用xx去连接
lower/upper——大小写转换
swapcas——大写变小写,小写变大写
lstrip/rstrip/strip——移除左/右/两侧空白
a=' hello ' print(a.strip())
split()——切割字符串
title()——把每个单词首字母变成大写
replace(old, new,count=None)——old被换字符串,new替换字符串,count换多少个,无count表示全部替换
count()——统计出现的次数
id()——查看对象的内存地址
2.列表及常用方法
列表:li=[1,2,3,"你好"]
常用函数:
append——在列表后面追加元素
li=['adsf',12,23,4,"哈哈",True] li.append('yangh','hh') print(li)
count——统计元素出现的次数
extend——扩展, 相当于批量添加
li=['adsf',12,23,4,"哈哈",True] a=['ff','ddd'] li.extend(a) print(li)
##li.extend(['ff','ddd'])也可以
index——获取指定元素索引号
insert——在指定位置插入
li=['adsf',12,23,4,"哈哈",True] li.insert(1,'yangh') print(li)
pop——删除最后一个元素
remove——移除左边找不到的第一个元素
li=[1,2,3,4,5,6]
li.remove[2]
reverse——反转列表
del lista[2:3]——删除数据
len()——获取数据个数
li=['adsf',12,23,4,"哈哈",True] print(li*3) #把列表数据多次输出
3.元组
元组:()
元组的值不可被修改,元组只有一个元素也得加上逗号,可支持切片操作
a=(o,)
t=('abc',12,44,[11,22,33]) ##查询 print(t[2:4]) t[3][0]=111111 print(t) #可对元组中的列表里的值修改
c=tuple(range(10)) #强制转换为元组类型
4.字典及常用方法
以键值对形式创建{‘key’:'value'}
key不可重复,value可重复每个键值,用逗号分隔
通过key索引,没有下标,无序的,
常用方法:
修改元素、新增元素、
d={'pro':"艺术","school":"北大"} ###添加字典数据 dd['name']='yangh' dd['age']=23 print(dd['name']) ##通过键获取值 dd['name']='lihao' ##修改键值
删除元素——del删除 clear清空
del dd['name'] #删除name这个键
统计元素——len()
print(len(dd)) ##显示多少项
获取键——keys返回全部key值的 获取值——values
print(dd.keys()) #获取所有的键 print(dd.values()) #获取所有的值
获取键值对——items
print(d.items()) #获取所有的键和值 ###遍历输出所有的键和值 for key,value in dd.items(): print('%s==%s'%(key,value)) dd.update({'height':1.8}) ##添加新的键和值
删除指定键——pop{'键'}
dd.pop('age') #删除age这个键
排序sorted():
##按照key排序 print(soetrd(d.items(),key=lambda d:d[0])) ##按照value排序(类型一致才可排序) print(soetrd(d.items(),key=lambda d:d[1]))
5.共有操作
合并+
##合并 sa='哎' sb='心累' print(sa+sb) la=list(range(10)) lb=list(range(10,20)) print(la+lb)
复制*
##复制 sa='哎' print(sa*3) la=list(range(10)) print(la*3)
判断元素是否存在in
sa='我也是醉了' print('了' in sa) li=list(range(9)) print(22 in li)
da={"name":"yh"}
print("name" in da)