python基础知识

《跟着孙兴华学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(列表名)	统计列表中数据的个数
> 列表名 = [ { '名':'孙兴华','龄':20 } , {'名':'赵丽颖','龄':33 } , {'名':'李小龙','龄':80 } ] 
> 列表名.sort( key=lambda x : x['名'], reverse = True )
> print(列表名)	

字典

新增		字典序列[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(元素)会报错
元组只支持查询操作,想要改变,只能通过切片和重新赋值
字符串的替换、分割本质上也是产生新字符串,而不是改变原字符串
posted @ 2024-02-27 11:55  36岁学编程  阅读(49)  评论(0)    收藏  举报