首页 > 编程语言 >python基础知识

python基础知识

时间:2024-02-27 12:00:09浏览次数:26  
标签: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(列表名)	统计列表中数据的个数	

**字典	**
新增		字典序列[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

相关文章

  • 使用python批量删除redis key
     比如我的业务。刚上线默认为超级管理员新增权限--请导出id用于清缓存svc格式请注意分页需要导出全部selectCONCAT('@rbac/ent/aclgr/',e.id)as需要清理缓存的rediskeyfroment_rbac_groupewherenotexists(selectp.`groupid`froment_rbac_group_permissionp......
  • Python 中动态调用函数或类的方法
    使用importlib#module.pyclassA:deffoo(self):print('thisisfoo.')@staticmethoddefstatic_method():print('thisisstatic.')defbar():print('bar……')defbaz():print('==......
  • Vue+Vite+Ts+Python后端demo
    一、创建前端工程1.安装node进入官网下载:Node.js(nodejs.org) 选择安装路径后,默认安装;确认是否成功安装: 2.创建vite项目①:npminitvite@latest②:输入项目名、选择Vue、选择Ts;cd到项目文件夹里;安装依赖项:npmi,启动项目:npmrundev③:打开浏览器,进入:http://localhost:5......
  • c语言基础知识
    一、线程进程相关1.什么是线程同步?2.线程同步的方法有哪几种?分别怎么使用?为什么要用锁?(1)互斥锁(Mutex):互斥锁用于提供对共享资源的独占访问。如果一个线程锁定了互斥锁,其他线程必须等待直到互斥锁被解锁才能访问资源。(2)信号量(Semaphore): 信号量是一个更......
  • Python3中的“联动”现象
    技术背景在python中定义一个列表时,我们一定要注意其中的可变对象的原理。虽然python的语法中没有指针,但是实际上定义一个列表变量时,是把变量名指到了一个可变对象上。如果此时我们定义另外一个变量也指到同一个可变对象的话,就会造成一个“联动”的现象。也就是改变其中的一个值时......
  • python3的json数据库-TinyDB效率篇
    安装了这个TinyDB库后,我突然想到一般来说python执行的速度并不算高,那这个库写文件速度如何呢?测试代码如下:fromtinydbimportTinyDBimporttime#创建数据库对象db=TinyDB('db.json')milliseconds1=int(time.time()*1000)db.insert({'type':'apple','count':......
  • Python函数每日一讲 - 简洁快速学会globals()函数
    引言在Python中,globals()函数是一个强大的工具,它允许您访问全局命名空间中的所有变量和函数。本文将深入探讨globals()函数的语法、用法以及实际应用场景,帮助大家更好地理解和使用这个函数。语句概览globals()函数的语法如下:globals()函数实例下面是globals()函数......
  • python3的json数据库-TinyDB
    无意间看到TinyDB这个词汇,就去查了一下,就发现了它的官方网站这里然后就是按照他说的步骤去做。第1步安装  pip3installtinydb 安装成功后,创建一个文件名字叫做 test.py,输入下面的代码:fromtinydbimportTinyDB,Query#创建数据库对象db=TinyDB('db.json')#......
  • 深入解析Python并发编程的多线程和异步编程
    本文分享自华为云社区《Python并发编程探秘:多线程与异步编程的深入解析》,作者:柠檬味拥抱。在Python编程中,多线程是一种常用的并发编程方式,它可以有效地提高程序的执行效率,特别是在处理I/O密集型任务时。Python提供了threading模块,使得多线程编程变得相对简单。本文将深入探讨thre......
  • 把python脚本制作成exe
    将Python脚本转换为可执行文件(exe)的方法之一是使用PyInstaller。这是一个流行的第三方库,可以将Python脚本打包成独立的可执行文件,在没有安装Python解释器的计算机上运行。以下是详细步骤:1.安装PyInstaller首先,确保你已经安装了Python和pip。然后在命令行或终端中运行以下命令来......