学习目标:
掌握字符串和列表的常用函数和方法
学习内容:
1.字符串常用函数,方法
字母处理:
.uper() 全部大写
.lower() 全部小写
.swapcase 大小写互换
.capitalize 首字母大写,其余小写
.title 首字母大写
字符串搜索相关
.find() 搜索指定字符串,没有返回-1
.index() 同上,但是找不到会报错
.rfind() 从右边开始查找
.count() 统计指定的字符串出现的次数
字符串替换
.replace('old,‘new’) 替换old为new
.replace(‘old’,‘new’,次数) 替换指定次数的old为new
a='你好,老师,老师,老师'
print(a.replace('老师','妹妹'))
打印结果:你好,妹妹,妹妹,妹妹
a='你好,老师,老师,老师'
print(a.replace('老师','妹妹',2))
打印结果:你好,妹妹,妹妹,老师
字符串去空格及去指定字符
.
.strip() 去两边空格
.lstrip() 去左边空格
.rstrip() 去右边空格.split() 默认按空格分隔
a='你好 老师老师老师'
print(a.split())
打印结果:['你好', '老师老师老师']
.split(‘指定字符’) 分割字符串为数组
a='你好#老师老师老师'
print(a.split('#'))
打印结果:['你好', '老师老师老师']
字符串判断相关
.startswith(‘start’) # 是否以start开头
.endswith(‘end’) # 是否以end结尾
.isalnum() # 是否全为字母或数字
.isalpha() # 是否全字母 .isdigit() # 是否全数字
.islower() # 是否全小写
.isupper() # 是否全大写
.istitle() # 判断首字母是否为大写
.isspace() # 判断字符是否为空格
补充
bin() # 十进制数转八进制
hex() # 十进制数转十六进制
range() # 函数:可以生成一个整数序列
type() # 查看数据类型
len() # 计算字符串长度
format() #格式化字符串,类似%s,传递值能多不能少
2.列表的常用函数,方法
.append() 可以往list中追加元素到末尾:
list1=['asd',12,23,45]
list1.append('add')
print(list1)
打印结果:['asd', 12, 23, 45, 'add']
.insert() 把元素插入到指定的位置
list1=['asd',12,23,45]
list1.insert(1,'insert')
print(list1)
打印结果:['asd', 'insert', 12, 23, 45]
.pop() 删除list末尾的元素
list1=['asd',12,23,45]
list1.pop()
print(list1)
打印结果:['asd', 12, 23]
要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
list1=['asd',12,23,45]
list1.pop(1)
print(list1)
打印结果:['asd', 23, 45]
.extend()扩展列表(相当于把list1的元素复制到了list)
list=[172,25,78,98]
list1=['asd',12,23,45]
list1.extend(list)
print(list1)
打印结果:['asd', 12, 23, 45, 172, 25, 78, 98]
.remove()删除匹配项(移除列表中某个值的第一个匹配项(只会移出第一个)
list1=['asd',12,23,45,12]
list1.remove(12)
print(list1)
打印结果:['asd', 23, 45, 12]
.copy复制列表(复制一个副本,原值和新复制的变量互不影响)
list1=['asd',12,23,45,12]
list=list1.copy()
print(list)
打印结果:['asd', 12, 23, 45, 12]
.reverse()反向排序
list1=['asd',12,23,45,12]
list1.reverse()
print(list1)
打印结果:[12, 45, 23, 12, 'asd']
.index()获取索引(从列表中找出某个值第一个匹配项的索引位置)
list1=['asd',12,23,45,12]
print(list1.index(12))
打印结果:1
.sort()排序(对原列表进行排序.根据ascii排序)
list1=[65,12,23,45,13]
list1.sort()
print(list1)
打印结果:[12, 13, 23, 45, 65]
max(list1) 返回列表元素的最大值
list1=[65,12,23,45,13]
print(max(list1))
打印结果:65
min(list1) 返回列表元素的最小值
list1=[65,12,23,45,13]
print(min(list1))
打印结果:12
len(list1) 获取列表长度
list1=[65,12,23,45,13]
print(len(list1))
打印结果:5
练习:
1.在键盘上输入数字几就打印出几个人的名字,并且名字不能有重复
import random
aa=int(input('请输入数字'))
namelist=['张三','李四','王二','李强']
for i in range(aa):
name=random.randrange(len(namelist))
print(namelist.pop(name))
打印结果:请输入数字3
王二
李强
张三
2.把字符串里的内容反转显示
s='dsdrtrhgdrgtt'
for i in range(-1,-14,-1):
print(s[i])
打印内容:
t
t
g
r
d
g
h
r
t
r
d
s
d