python基础之数据结构
一、序列
1、序列是一组按照顺序排列的值【数据集合】;
2、在python中,存在三种内置的序列类型:字符串、列表、元组;
3、支持索引、切片操作;
4、索引:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端;
5、切片:截取字符串中的一段内容
①使用语法[起始下标:结束下标:步长];
②左闭右开,不包含结束下标对应的数据;
③步长指的是隔几个下标获取一个字符,默认为1
二、字符串及常用方法
1、字符串常用方法
①格式化:首字母大写capitalize,大写变小写小写变大写swapcase,每个单词首字母大写title,移除左/右/两侧空白lstrip/rstrip/strip,大小写转换lower/uper;[5]
②判断内容:判断是否是字母和数字isalnum,判断是否是字母isalpha,判断是否是数字isdigit,判断是否是小写islower,判断是否以xx结束/开始endwith/startwith;[5]
③连接:循环取出所有值,用xx去连接join;
以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
④替换:replace(被替换字符串,替换字符串,换多少个[默认全部替换])
string.replace(str1, str2, num=string.count(str1))
把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
⑤查找:检测对象是否在字符串中find(没找到返回-1)、index;
string.find(str, beg=0, end=len(string))
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
⑥切割:切割字符串split;
string.split(str="", num=string.count(str))
以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串
⑦计数:统计对象出现次数count
string.count(str, beg=0, end=len(string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
#字符串的常用方法 str = ' hello World ! ' print('首字母大写:%s'%str.capitalize()) print('大小写互换:%s'%str.swapcase()) print('每个单词首字母大写:%s'%str.title()) print('移除两侧空白:%s'%str.strip()) print('是否是数字:%s'%str.isdigit()) print('是否是字母:%s'%str.isalpha()) print('是否是字母和数字:%s'%str.isalnum()) print('是否是小写:%s'%str.islower()) print('是否以!结束:%s'%str.endswith('!')) print('是否是字母和数字:%s'%str.isalnum()) print('连接:%s'%'-'.join(str)) print('替换:%s'%str.replace('l','t',2)) print('查找:%s'%str.find('o')) print('切割:%s'%str.split(' ',2)) print('计数:%s'%str.count('l')) 首字母大写: hello world ! 大小写互换: HELLO wORLD ! 每个单词首字母大写: Hello World ! 移除两侧空白:hello World ! 是否是数字:False 是否是字母:False 是否是字母和数字:False 是否是小写:False 是否以!结束:False 是否是字母和数字:False 连接: -h-e-l-l-o- -W-o-r-l-d- -!- 替换: hetto World ! 查找:5 切割:['', 'hello', 'World ! '] 计数:3
2、切片操作
二、列表及常用方法
1、支持增删改查、索引、切片;
2、列表中的数据可以变化,内存之地不会改变;
3、[,,,],列表中的数据项可以是任何类型的数据;
4、常用方法
①增:列表后面追加append、批量添加extend、指定位置插入insert;
②删:删除最后一个元素pop、移除左边找到的第一个元素remove、批量删除del;
③查:获取指定元素索引号index;
④统计:统计元素出现的次数count、最大元素max、最小元素min、元素个数len、
⑤排序:反转列表reverse、列表排序sort
三、元组
1、不可变序列,创建之后不能做任何修改;
2、(,,,),数据项可以是任何类型;
3、当元组中只有一个元素时,要加上逗号,否则解释器会当作整型处理;
4、常用方法-类似列表
四、字典及常用方法
1、可以存储任意对象;
2、以键值对的形式创建,不是序列类型,无序的键值集合,没有下标概念;
3、键不能重复、值可以重复;
4、键只能是不可变类型,如数字、字符串、元组;
5、常用方法
①增:新增元素:
②删:del/pop删除指定键、删除元素
③改:修改元素update
④查:获取键keys、获取值values、获取键值对items
⑤排序:sorted
dictA = {'name':'张三','age':'18','sex':'男','nickname':'法外狂徒'}
print(dictA)
print('按key排序:%s'%sorted(dictA.items(),key=lambda d:d[0]))
print('按value排序:%s'%sorted(dictA.items(),key=lambda d:d[1]))
{'name': '张三', 'age': '18', 'sex': '男', 'nickname': '法外狂徒'}
按key排序:[('age', '18'), ('name', '张三'), ('nickname', '法外狂徒'), ('sex', '男')]
按value排序:[('age', '18'), ('name', '张三'), ('nickname', '法外狂徒'), ('sex', '男')]
五、共有操作
1、合并:两个对象相加,会合并两个对象,适用于字符串、列表、元组;
2、复制:对象自身按指定次数进行复制,适用于字符串、列表、元组;
3、判断元素是否存在:in,适用于字符串、列表、元组、字典;

浙公网安备 33010602011771号