基本数据类型内置方法
目录
字符串内置方法
移除首尾的指定字符,可以自己选定方向
s1 = '1111jason111'
print(s1.strip('1')) # 去除首尾的 1
>>>jason
print(s1.lstrip('1')) #
>>>jason111
print(s1.rstrip('1')) # 去除字符串左边的
>>>1111jason
大小写的相关操作
s = POIlkj000
print(s.lower()) # 字符串内的字母全部转换成小写
>>>poilkj000
print(s.upper()) #字符串内的字母全部转换成大写
>>>POILKJ00
print(s.isupper()) #判断字符串中所有字母是否全部为大写,结果为布尔值
print(s.islower()) #判断字符串中所有字母是否全部为小写,结果为布尔值
#关于验证码
验证码由数字和字母组成,而验证码校验,对大小写不做要求
code = 'Xj4N'
user_code = input('请输入验证码:').strip()
if user_code.upper() == code.upper()
print('验证码正确')
'''
通过将他们统一转换成大写或者小写,再进行比较
'''
判断首尾是否为指定字符
s3 = 'today is wednesday 1212'
print(s3.startswith('t')) #True
print(s3.startswith('today')) #True
print(s3.endswith('2')) #True
print(s3.endswith('21')) #False
格式化输出
#format方法
print('my name is {} my age is {}'.format('Tom', 88)) #跟占位符类似,通过{}来占位
>>>my name is Tom my age is 88
print('my name is {1} {0} {1} my age is {0}'.format('Tom', 88)) #可一通过索引取值,可以反复取值
>>>my name is 88 Tom 88 my age is Tom
print('my name is {age} my age is {name}'.format(name = 'Tom', age = 88)) #可以通过变量名来进行取值
>>>my name is 88 my age is Tom
name = Tom
age = 88
print('my name is {age} my age is {name}') #可以使用已经出现的变量名来进行取值
>>>my name is 88 my age is Tom
字符串拼接
s5 = '仰天大笑出门去'
s6 = '我辈岂是蓬蒿人'
print(s5 + s6) #效率低,当字符串很大时不适合使用
>>>仰天大笑出门去我辈岂是蓬蒿人
print(s5 * 5) #重复输出字符串s5
>>>仰天大笑出门去仰天大笑出门去仰天大笑出门去仰天大笑出门去仰天大笑出门去
print('.'.join(s5)) #在字符串每个字符间加入指定字符
>>>仰.天.大.笑.出.门.去
print('.'.join([1, 2, 2, 3])) #添加的元素或者等待被添加的元素必须为数字,否则报错
>>>erro
替换字符串中指定的字符
s6 = 'hello world hello world hello'
print(s6.replace('hello', 'the')) # 默认将s6中的所有hello都替换成the
>>>the world the world the
print(s6.replace('hello', 'the', 2)) #可以通过数字控制替换的个数 方向为从左到右
>>>the world the world hello
判断字符串中的字符是否为纯数字
s7 = 'lkjklkl123'
s8 = '231223'
print(s7.isdigit()) #False
print(s8.isdigit()) #True
查找指定字符串对应的索引值
s9 = 'today is wednesday 1212'
print(s9.find('d')) #从左到右进行查找,找到第一个后结束
>>>2
print(s9.find('z')) #查找不到 值为 -1
>>>-1
'index方法也可以查找指定字符的索引值,但如果找不到就会报错,不推荐使用'
文本位置改变
name = 'Tom'
print(name.center(20, '*')) #输出指定位数的字符串,位数不够,用指定字符填充,文本居中
>>>********Tom*********
print(name.ljust(20,'*')) #输出指定位数的字符串,位数不够,用指定字符填充,文本在左边
>>>Tom*****************
print(name.rjust(20,'*')) #输出指定位数的字符串,位数不够,用指定字符填充,文本在右
特殊符号
print('k\akkk\nlkk\tlkj')
>>>kkkk
>>>lkk lkj
'''
如果想取消他们的特殊含义,可以在字符串前面加上r
'''
print(r'k\akkk\nlkk\tlkj')
>>>k\akkk\nlkk\tlkj
captalize, swapcase, title
s11 = 'today is wendnesday'
print(s11.captalize()) #首字母大写
>>>Today is wednesday
print(s11.swapcase()) #大小写反转
>>>TODAY IS WEDNESDAY
print(s11.title()) #每个字母首字母大写
>>>Today Is Wednesday
列表内置方法
类型转换
print(list(11)) #报错
print(list(11.11))
print(list('tom')) # ['t', 'o', 'm']
print(list({'name':'jason', 'age':15})) # ['name','age']
print(list({1,2,3})) #[1,2,3]
'''
list可以转换可以for循环的数据类型,例如字典,集合,元组等
'''
索引取值
#索引取值
list = [1,2,3,4,5]
print(list[0])
>>>1
切片操作
#切片操作
list = [1,2,3,4,5]
print(list[1:3])
>>>[2, 3]
print(list[-3:-1])
>>>[3, 4]
print(list[-1:-3:-1])
>>>[4, 3]
统计列表中元素的个数
list = [1,2,3,4,5]
print(len.(list))
>>>5
成员运算
name = ['jason', 'tom', 'jack']
print('j' in name) #False,最小单元为一个元素,不能说元素里的单个字符
print('jason' in name) #True
列表添加元素的方法
name = ['jason', 'tom', 'jack']
#尾部追加单个元素
print(name.append('bob'))
>>>None
name.append('bob')
>>>['jason', 'tom', 'jack', 'bob']
#指定位置插入单个元素
name.insert(0,'jjj')
print(name)
>>>['jjj', 'jason', 'tom', 'jack']
name.insert(2, [1, 2])
print(name)
>>>['jason', 'tom', [1, 2], 'jack']
合并列表
name = ['jason', 'tom', 'jack']
name.extend([1, 2, 3])
print(name)
>>>['jason', 'tom', 'jack', 1, 2, 3]
'''
extend可以看成for循环+append
'''
删除元素
name = ['jason', 'tom', 'jack']
#通用删除
del name[0]
print(name)
>>>['tom', 'jack']
#就地删除
name.remove('jason')
print(name)
>>>['tom', 'jack']
#延迟删除
print(name.pop()) #默认弹出尾部
print(name.pop(2)) #指定删除下标为2 的元素
修改列表元素
name = ['jason', 'tom', 'jack']
print(id(name[0])) #1793290965264
name[0] = 'jerry'
print(id(name[0])) #1943218393864
print(name)
>>>['jerry', 'tom', 'jack']
排序
s = [1,3,8,2,4,4,9]
s.sort() #默认的是升序
print(s)
>>>[1, 2, 3, 4, 4, 8, 9]
s.sort(reverse = True) # 修改为降序排列
print(s)
>>>[9, 8, 4, 4, 3, 2, 1]
翻转
s = [1,3,8,2,4,4,9]
s.reverse() #对列表中的元素进行翻转
print(s)
>>>[9, 4, 4, 2, 8, 3, 1]
比较运算
s1 = [1,3,5]
s2 = [2,1,3]
print(s1 < s2) #比较的是第一个元素的大小,与元素的数量没有关系
>>>True
s1 = ['a', 'B', 'f']
s2 = ['C', 'b']
print(s1 > s2) #比较的是字母对应的ASCII码
>>>True
统计列表中某个元素出现的次数
s = [1,1,2,2,1,3,4,5,5]
print(s.count(1)) #统计列表s中1出现的次数
>>>3
清空列表
s = [1,1,2,2,1,3,4,5,5]
s.clear() #清空列表中的元素
print(s)
>>>[]
可变类型与不可变类型
可变类型
s = [1, 2, 3]
print(id(s)) # 1877014933064
s[2] = 0
print(id(s)) # 1877014933064
'''
值改变,内存地址不变,修改的是本身
'''
修改前

修改后

不可变类型
s1 = ' Tom'
print(id(s1) #1992037274376
res = s1.strip()
print(id(res)) #1992037274768
'''
值改变,内存地址也跟着变,修改过程产生了新的值
'''
修改前

修改后

队列与堆栈
队列
#先进先出是队列
list = []
list.append(1)
list.append(2)
list.append(3)
for i in list:
print(i)
>>>1
>>>2
>>>3
堆栈
#先进后出是堆栈
list = []
list.append(1)
list.append(2)
list.append(3)
print(list.pop())
print(list.pop())
print(list.pop())
>>>3
>>>2
>>>1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人