《跟着孙兴华学Python基础》
一、常见数据类型
字符串:不能修改的字符序列。除了不能修改,可把字符串当成列表一样处理。
列表:我觉得列表就是我们日常生活中经常见到的清单。比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单。由于我们买一种东西可能不止一次,所以清单中是允许有重复项的。
元组:用来存放不能被轻易修改的数据,例如身份证号
字典:是除列表外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
集合:目的就是去重复。
二、类型转换
int( ) float( ) str( )
list(序列名) # 将序列转为列表
tuple(序列名) # 将序列转为元组
set(序列名) # 将某个序列转换成集合
注意:集合自动去重复,但不支持下标,没有顺序
举例说明:
序列 = ‘序列是指字符串、列表、字典、元组、集合等包含多种数据的形式,字符串可以看做是单个字符组成的列表’
dic = {'a':1,'b':2}
print(str(dic)) #任意数据类型都可以转换为字符串
print(list(序列))
print(list(dic)) #将字典转换为列表时,默认将键提取为列表
print(list(dic.items())) #将键值对转换为元组的列表
print(list(dic.values()))
print(set(序列))
三、 各种数据类型的增删改查
**字符串 **
查找 find 字符串序列.find(子串,开始位置下标,结束位置下标) 子串在字符串序列中的位置 find当查询不存在时返回-1,index当查询不存在时报错
查找 index 字符串序列.index(子串,开始位置下标,结束位置下标) 子串在字符串序列中的位置
查找 rfind 与find()功能相同,但查找方向为右侧开始
查找 rindex 与index()功能相同,但查找方向为右侧开始
修改 replace 字符串序列.replace(旧子串,新子串,替换次数) 替换数次如果超过了子串的出现次数,就替换所有子串
分割 split 字符串序列.split(分割字符,分割字符出现的次数) 返回一个列表,丢失分割字符 mystr='a or b or c' newstr=mystr.split('and') print(newstr) 返回: ['a','b',‘c']
合并 join 字符或子串.join(多字符串组成的序列) 返回一个新的字符串 mystr=['a','b','c','d'] newstr='…'.join(mystr) print(newstr) 返回: a…b…c…d
字母转换 capitalize 字符串.capitalize() 字符串首字母大写
字母转换 title 字符串.title() 字符串单词每个首字母大写
字母转换 lower 字符串.lower() 将字符串中的大写转换成小写
字母转换 upper 字符串.upper() 将字符串中的小写转换成大写
删空字符 lstrip 字符串.lstrip() 删除字符串左侧空白字符
删空字符 rstrip 字符串.rstrip() 删除字符串右侧空白字符
删空字符 strip 字符串.strip() 删除字符串两侧空白字符
对齐 ljust 字符串序列.ljust(长度,填充字符) 字符串左对齐,可以使用填充字符,默认空格
对齐 rjust 字符串序列.rjust(长度,填充字符) 字符串右对齐,可以使用填充字符,默认空格
对齐 center 字符串序列.center(长度,填充字符) 字符串居中对齐,可以使用填充字符,默认空格
判断 startswith 字符串序列.startswith(子串,开始位置下标,结束位置下标) True 或 False 下标可以省略,有下标时,则是在指定范围内判断
判断 endswith 字符串序列.endswith(子串,开始位置下标,结束位置下标) True 或 False 下标可以省略,有下标时,则是在指定范围内判断
判断 isalpha 语法同上,如果字符串至少有一个字符并且所有字符都是字母返回T,否则返回F
判断 isdigit 语法同上,如果字符串只包含数字则返回T,否则返回F
判断 isalnum 语法同上,如果字符串至少有一个字符并且所有字符都是字母或数字,返回T,否则返回F
判断 isspace 语法同上,如果字符串中只包含空白,则返回T,否则返回F
判断 in 例如:if 变量名1 in 变量名2…else…
判断 not in 同上
**列表 **
判断 in 例如:if 变量名1 in 变量名2…else… 判断指定数据在某个列表序列,在返回T,不在返回F
判断 not in 同上 判断指定数据不在某个列表序列,不在返回T,在返回F
结尾追加 append 列表序列.append(数据) 单个数据 如果数据是一个序列,则追加整个序列到列表。数据一次只有增加1个 ['猪','马','牛',['猫','狗']]
结尾追加 extend 列表序列.extend(数据) 多个数据 如果数据是一个序列,则将这个序列的数据逐一添加到列表 ['猪','马','牛','猫','狗']
插入数据 insert 列表序列.insert(位置下标,数据) 下标显示哪里,就把数据插入哪里
删除 del del 目标 目标可以是一个数据,也可以是一个列表 del 列表名 或 del 列表名[0]
删除 pop 列表序列.pop(下标) 删除指定下标的数据(默认最后一个),并返回该被删除的数据
删除 remove 列表序列.remove(数据) 删除列表中某个数据的第一个匹配项(列表中如有多个这样的数据,只删除第一个)
清空列表 clear 列表序列.clear() []
修改 列表名[2]='aaa' 给指定下标的列表名赋值
倒序 reverse 列表序列.reverse() [1,2,3,4,5,6] 返回 [6,5,4,3,2,1]
排序 sort 列表序列.sort(reverse=False) reverse=True降序,reverse=False升序(默认)
复制 copy 列表序列.copy()
统计 count 列表名.count(数据) 统计某个元素在列表中出现的次数
统计 index 列表名.index(数据,开始位置,结束位置) 返回某个元素在列表中第一次出现的次数。后两个参数可以省略,可以在指定位置范围内查出现的次数
计数 len len(列表名) 统计列表中数据的个数
**字典 **
新增 字典序列[key]=值 如果key存在则修改这个key对应的值,如果key不存在则新增此键值对。
修改 字典序列[key]=值
删除 del del 字典序列[key] 如果key不存在报错 如果删除整个字典,del(字典序列)
清空 clear 字典序列.clear() 返回空字典{}
查找 字典序列[key名] Key存在返回对应值,否则报错! print(字典序列[key名])
查找 get 字典序列.get(key,默认值) 返回Key对应的值 如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None
查找 keys 字典序列.keys() 可迭代对象 查找字典中所有的Key
查找 values 字典序列.values() 可迭代对象 查找字典中所有的值
查找 items 字典序列.items() 可迭代对象(里面的数据是元组) 查找字典中所有的键值对
创建空字典 dict1={}
创建空字典 dict2=dict()
**集合 **
创建集合 集合名={10,20,30,40,50} {40,10,50,20,30} 顺序随机 不允许数据重复,如果重复自动去重
创建集合 集合名=set('abcdefg') {'e','b','a','d','c','f','g'} 顺序随机 不允许数据重复,如果重复自动去重
创建空集合 集合名=set() set() 不能用{},因为{}用来创建空字典的
增加 add 集合名.add(数据) 随机排序的集合 因为集合自动去复,如果增加的是重复数据自动忽视
增加 update 集合名.add(数据序列) 随机排序的集合 数据序列可以是:列表(list),元组(tuple),字符串(str), 字节数组(bytes),队列(deque)
删除 remove 集合名.remove(数据) 有数据删除,无指定数据报错
删除 discard 集合名.discard(数据) 有数据删除,无指定数据不报错
删除 pop 集合名.pop(数据) 随机删除某个数据,并返回这个数据
查找 in 数据 in 集合名 True或False 判断数据在集合序列
查找 not in 数据 not in 集合名 True或False 判断数据不在集合序列
**元组 **
多数据元组 元组序列名=('a','b','c','d')
单数据元组 元组序列名=('a',)
查找 index 元组序列名.index(数据,开始位置,结束位置) 返回下标 查找 某个数据,如果数据存在返回对应下标,否则报错
计数 count 元组序列名.count(数据) 返回出现次数 统计某个数据在元组当中出现的次数
计数 len len(元组序列名) 返回元组中数据的个数 统计元组中数据的个数
删除 del del 元组名 再访问元组时报错
修改数据 temp = (‘孙兴华’,’孙艺航’,’小汪汪’,’大汪汪’)
temp = temp[:2] + (‘Big Tom’,) + temp[2:] (‘孙兴华’,’孙艺航’,’Big Tom’,’小汪汪’,’大汪汪’)
判断 in 例如:if 变量名1 in 变量名2…else…
判断 not in 同上
**注意事项:**
对于可变类型的列表、字典、集合,会在原变量上进行操作,改变原变量,增改操作函数无返回值
对于不可变类型的字符串、数值、元组,原变量不可更改,如果有更改的操作,只能通过重新赋值给原变量,或者操作后返回值赋值给新变量,所以增改函数或操作后均有返回值
所有数据类型,支持del进行删除变量或其中的元素无返回值,列表另支持remove(元素),pop(下标)进行删除,pop(下标)函数返回要删除的元素,集合支持remove(元素),pop()随机删除,返回要删除的元素,还支持discard(元素),区别是没有改元素时不报错,而remove(元素)会报错
元组只支持查询操作,想要改变,只能通过切片和重新赋值
字符串的替换、分割本质上也是产生新字符串,而不是改变原字符串
标签:python,列表,字符串,序列,基础知识,数据,元组,字典
From: https://www.cnblogs.com/36study-cheng/p/18034166