常用数据结构
字符串
定义:
零或多个字符串构成的有限序列
常用方法:
str1 = "hello world!" #定义字符串
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。len(str1) #计算字符串长度
str1.capitalize() #返回首字母变大写的字符串, Hello world!
str1.upper() #字符串变大写并返回, HELLO WORLD!
str1.find("or") #获取子字符串位置,7,未找到返回-1
str1.index('or') #获取子字符串的位置,未找到触发异常
str1.startswith('He') #判断是否以指定字符串开头,返回True 或 False
str1.endswith('ld!) #判断是否以指定字符串结尾,返回True或False
str1.center(50,'=') #字符串以指定宽度居中排列,不够位以指定字符填充
str1.rjust(50,'*') #字符串左侧排列,右侧不够位填充指定字符
字符串切片:
str1[2] #获取指定位置字符
str1[2:5] #指定区间子字符串
str1[2:] #指定位置到字符串结束
str1[2::2] #指定位置开始到结束,每两个字符取一个
str1[::2] #整个字符串,每两个字符取一个
str1[::-2] #整个字符串反向开始,每两个字符取一个
str1[-3:-1] #倒数第三个到倒数第一个之间的字符串
str1.isdigit() #字符串是否由数字字符组成
str1.isalpha() #是否以字母字符组成
str1.isalnum() #是否以数字和(或)字母字符组成
列表
定义:
可修改的有限序列
list1 = [1,2,3,'shy','box']
len(list1) #列表长度
list1[2] #指定位置元素,与字符串切片相同,不再赘述
添加元素:
list1.append(20) #末尾添加元素
list1.insert(1,23) #指定位置插入元素
list1 += [2,1] #添加列表
删除元素:
list1.remove(3) #删除指定元素,没有则触发异常,多个则只删除第一个
if 123 in list1:
list1.remove(123) #删除指定元素
del list1[3] #删除指定位置元素
list1.clear() #清空列表
关于复制和创建索引:
list2 = list1 #只创建了新索引,并未复制列表
list3 = list1[:] #复制了列表
list4 = list1[1:3] #通过切片创建新列表
list5 = list1[::-1] #反转列表复制
列表操作:
list2 = storted(list1) #返回排序后的列表拷贝,不修改原列表
list2 = sorted(list1,key=len) #根据字符串长度排序
list1.sort(reverse = True) #直接在原列表上修改
创建列表:
f = [x**2 for x in range(1,10)]
f = [x+y for x in 'abcd' for y in '123456'] #生成4x6元素的列表
生成器:
f = (x**2 for x in range(1,1000))
不全部生成,只在调用时生成,节省内存,可通过for循环调用
for x in f:
print(x)
元组:
定义:
不可修改的有限序列
元组不可修改特性在使用过程中更加安全,可方便的被共享访问
集合:
定义:
无重复元素的集合
方法:
set1 = {1,2,3,‘shy’} #定义集合
set1.add(2) #添加元素
set1.update([1,4,5]) #更新集合
set1.discard(2) #删除指定元素
set1.remove(3) #删除元素,不存在会触发异常
求交集,对称差集,并集,差集,如图所示
set2<=set1
set2.issubset(set1) #判断是否是子集
set1>=set2
set1.issuperset #判断是否是超集
字典:
定义:键值对
dic = {'name':'alex', 'age':23}
dic['name'] = '金角大王' #更新字典
dic.update('habby'='girl', 'address'='beijing') #更新字典
dic.get('name') #获取
dic['name'] #获取,不存在会触发异常
dic.popitem() #随机删除键值对
dic.pop('name') #删除指定键值对
dic.clear() #清空字典
dic.items() #字典的键值对元组
dic.values() #字典的值元组
dic.keys() #字典的键元组
