字符串的内置方法
# 可以通过句点符(.) 查看数据有那些方法
# 通过ctrl + 鼠标左键 查看方法底层源代码
1. # 大小写转换
res = 'JaSoN222'
1. upper: 全部转换为大写 eg: print(res.upper()) 输出为:JASON222
2. lower: 全部转换为小写 eg: print(res.lower()) 输出为:jason222
# 可应用于用户书写验证码的大小写问题
# 这样就可以全部转为大写或全部转为小写作为比对
eg: real_code = JaSoN
new_code = input('请输入正确的验证码:')
if new_code.upper() == real_code.upper(): #输入lower同理
print('欢迎进入')
else:
print('验证发输入错误')
# 判断是否为纯大写或纯小写
print(res.isupper())
print(res.islower())
2. #判断字符串是否以指定的字符开头 startswith
res = 'my name is jason'
print(res.startswith('m')) 输出为:True
print(res.startswith('i')) 输出为: False
print(res.startswith('my')) 输入为: True #可为多个字符
#判断字符串是否以指定的字符结尾 endswith
print(res.endswith('j')) 输出为: False
print(res.endswith('n')) 输出为: False
print(res.endswith('jason')) 输出结果为: False
3. #格式化输出 format
第一种为: %s占位符
第二种为: 使用{},相当于%s占位符
eg:
mes = 'my name is{} my age is {}'
print(mes.format('gary','20')) #输出为 my name is gary my age is 20
第三种: {}大括号内 可以添加索引取值打破顺序 并且可以反复使用相同位置的数据
eg:
mes = 'my name is {0} my age is {1} my oldname is {0} today age is {1}'
print(mes.format('jason, 20'))
#输出为: my name is jason my age is 20 my oldname is jason today age is 20
第四种:{}大括号内可直接写变量名
eg:
mes = 'my name is {name1} my age is {age1} my oldname is {name1} birth is {age2}'
print(mes.format(name1 = 'jason', age1 = 20, age2 = 1999))
#输出为:my name is jason my age is 20 my oldname is jason birth is 1999
4. #字符串的拼接
方式1 : 字符串直接相加
print('hello' + 'world')
输出为: helloworld
方式2 : join方法
name_list = ['gary', 'jason', 'tony', 'jack']
print('|'.join(name_list))
输出为:gary|jason|tony|jack
# 注: 必须为字符串类型(在python中不同的数据类型之间无法直接操作)
a1 = ['jason', 222, 'sss']
print('|'.join(a1)) 这样就会报错
5. #替换字符串中指定的字符
mes = 'my name is jason my age is 10' 将jason 替换为 gary
print(mes.replace('jason', 'gary')) # 输出为 my name is gary my age is 10
# 替换指定个数的文本
mes = 'my name is jason jason jason my age is 12'
print(mes.replace('jason', 'gary')) # 输出为 my name is gary gary gary my age is 12
print(mes.replace('jason', 'gary', 1)) # 只更换第一个文本
# 输出为 my name is gary jason jason my age is 12
6. # 判断字符串是否为纯数字
psw = 'jason2222'
print (psw.isdigit()) # False
psw = '2222'
print (psw.isdigit()) # True
eg:
guess_age = input('请输入你猜的年龄:')
if guess_age.isdigit():
guess_age = int(guess_age)
else:
print('请输入正确的格式')
# 不常用方法
1. 所有单词首字母大写
mes = 'my name is jason'
print(mes.title()) # 输出为:My Name Is Jason、
2. 开头的单词首字母大写
mes = 'my name is jason'
print(mes.capitalize()) # 输出为: My name is Jason
3. 大小写互换
mes = 'XxX is HandSOme'
print(mes.swapcase()) # 输出为:xXx IS hANDsoME
4. 查找指定字符对应的起始索引值 从左往右找到第一个就结束
mes = 'my name is jason'
print(mes.find('m')) # 输出为: 0
# 如果找不到 返回 -1
print(mes.find('z')) # 输出为:-1
# 如果为 index 找不到则直接报错
print(mes.find('z')) # 直接报错
5. 统计某个字符出现的次数
mes = 'my name is mark'
print(mes.count('m')) # 输出为:3
6. 居中展示
name = 'jason'
print(s8.center(15, '$')) # 居中展示
print(s8.ljust(15, '&')) # 左对齐 jason&&&&&&&&&&
print(s8.rjust(15, '*')) # 右对齐 **********jason
7. 判断字符串包含的内容
name = 'tony123'
name.isalnum() # 字符串中既可以包含数字也可以包含字母
name.isalpha() # 字符串中只包含字母

列表的基本用法
1. 修改值
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list[0] = 1111
print(name_list) # 输出为[1111, 'kevin', 'tony', 'jack']
2. 添加值
方式 1 :在末尾添加括号内指定的数据
name_list.append(99)
print(name_list) # 输出为:['jason', 'kevin', 'tony', 'jack', 99]
方式 2 :插入元素(将括号内的数据当成一个整体插入到指定的索引位置)
name_list.insert(0,'jason1')
print(name_list) # 输出为 :['jason1', jason', 'kevin', 'tony', 'jack']
name_list.insert(2. 'jason2')
print(name_list) # 输出为 :[jason', 'kevin','jason2', 'tony', 'jack']
方式 3 :扩展元素
name_list.extend([1, 2, 2, 3, 4, 5])
print(name_list) # ['jason', 'kevin', 'tony', 'jack', 1, 2, 2, 3, 4, 5]
l1 = [1, 2, 3, 4, 5]
l2 = [11, 22, 33, 44, 55]
for i in l2:
l1.append(i) # 将l2中的数据追加到l1末尾
print(l1)
# 输出为:[1, 2, 3, 4, 5, 11, 22, 33, 44, 55]
列表删除数据
删除数据
方式 1 :根据索引直接删除
lis = [11, 22, 33, 44, 55]
del lis[1]
print(lis) # 输出为 [11, 33, 44, 55]
方式 2 :remove() 括号内指定需要移除的元素值
lis.remove(11)
print(lis) # 输出为[22, 33, 44, 55]
print(lis.remove(11)) # 则输出为 None
方式 3 : pop() 括号内指定需要弹出的元素索引值 括号内如果不加参数的话默认弹出列表尾部元素
lis.pop()
print(lis) # 输出为[11, 22, 33, 44]
lis.pop(1)
print(lis) # 输出为[11, 33, 44, 55]
列表的其他用法
1. l1 = [55, 22, 11, 44, 33, 99, 88]
# l1.sort() # 默认为升序
# print(l1) # 输出为[11, 22, 33, 44, 55, 88, 99]
# l1.sort(reverse=True) # 默认为降序
# print(l1) # 输出为[99, 88, 55, 44, 33, 22, 11]
2. print(l1[:]) # 冒号两边不屑数字默认全都要
print(l1[:5]) # 左边不写默认从头(0)开始
print(l1[1:]) # 右边不写默认到尾部
3. 两个列表比较
ll1 = [999, 111]
ll2 = [111, 222, 333, 444, 555, 666, 777, 888]
print(ll1 > ll2) # 输出为True
# 列表比较运算采用相同的索引元素进行比较,值对比第一个元素得出结果
如果为字符串比较也是按照索引位置内部转成ASCII对应的数子比较