1.3 公共功能
1.相加,两个列表相加获取一个新的列表
data = ["张译","冯绍峰"] +["赵又廷","林更新"]
print (data) # ['张译', '冯绍峰', '赵又廷', '林更新']
v1 = ["赵又廷","林更新"]
v2 = ["张译","冯绍峰"]
v3 = v1 + v2
print (v3) # ['赵又廷', '林更新', '张译', '冯绍峰']
2.相乘,列表*整型,将列表中的元素再创建N份并生成一个新的列表
data = ["张译","冯绍峰"] * 2
print (data) # ['张译', '冯绍峰', '张译', '冯绍峰']
v1 = ["赵又廷","林更新"]
v2 = v1 *2
print (v1) # ['赵又廷', '林更新']
print (v2) # ['赵又廷', '林更新', '赵又廷', '林更新']
3.运算符in包含,由于列表内部是由多个元素组成,可以通过in判断元素是否在列表中
user_name = ["张译","冯绍峰","赵又廷","林更新","刘烨","1","aa"]
v1 = '张译' in user_name
v2 = 'AA' in user_name
v3 = '冯绍峰' not in user_name
print(v1 , v2 ,v3) # True False False
user_name = ["张译","冯绍峰","赵又廷","林更新","刘烨","1","aa"]
if 'aa' in user_name:
user_name.remove('aa')
print("在,已删除")
else :
print ('不在')
# 在,已删除
# 案例
user_name = ["张译","冯绍峰","赵又廷","林更新","刘烨","1","aa"]
if 'aa' in user_name:
index = user_name.index('aa') # 获取索引
user_name.pop(index) # 根据索引删除
print(user_name) # ['张译', '冯绍峰', '赵又廷', '林更新', '刘烨', '1']
# 敏感词替换
#风雨中前行,是为了迎接更广阔的晴空,是为了拥抱更灿烂的阳光。让我们共同踏上这段充满挑战与机遇的征途,以坚韧的脚步踏过风雨,以无畏的精神迎接挑战,共筑一部属于我们自己的、风雨中砥砺前行的人生史诗。
v1 = input('请输入您的内容:')
ban_list = ["风",'灿烂','的']
for char in ban_list :
v1 = v1.replace(char,"**")
print (v1)
注意:列表检查元素是否存在时,是采用逐一比较的方式,效率会比较低。
4.获取长度
user_name = ["张译","冯绍峰","赵又廷","林更新","刘烨","1","aa"]
print(len(user_name)) # 7
5.索引:一个元素的操作
# 读
user_name = ["张译","冯绍峰","赵又廷","林更新","刘烨","1","aa"]
print(user_name[0]) # 张译
print(user_name[1]) # 冯绍峰
print(user_name[-1]) # aa
print(user_name[10]) # 如果索引不存在会报错
# 改
user_name = ["张译","冯绍峰","赵又廷","林更新","刘烨","1","aa"]
user_name[0] = "孙俪"
print (user_name) # ['孙俪', '冯绍峰', '赵又廷', '林更新', '刘烨', '1', 'aa']
# 删
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
del user_name[0]
del user_name[-1]
print(user_name) # ['冯绍峰', '赵又廷', '林更新', '刘烨', '1']
# 删除补充
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
user_name.pop(1) # 根据索引删除
v1 = user_name.pop(1) # 得到删除的值
user_name.remove('林更新') # 根据值删除
注意:超出索引范围会报错。
提示:由于字符串是不可变类型,所以他只有索引读的功能,而列表可以进行读、改、删
6.切片:多个元素的操作(很少用到)
# 读
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
print(user_name[0:2]) # 前取后不取,['张译', '冯绍峰']
print(user_name[3:]) # ['林更新', '刘烨', '1', 'aa']
print(user_name[0:-1]) # ['张译', '冯绍峰', '赵又廷', '林更新', '刘烨', '1']
# 改
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
user_name[0:2] = ['11','22','23','24'] # 将前两个替换
print (user_name) #['11', '22', '23', '24', '赵又廷', '林更新', '刘烨', '1', 'aa']
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
user_name[2:] = ['11','22','23','24']
print (user_name) # ['张译', '冯绍峰', '11', '22', '23', '24']
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
user_name[200:] = ['11','22','23','24'] # 如果索引超过列表,替换的内容会直接加在最后面
print (user_name) # ['张译', '冯绍峰', '11', '22', '23', '24']
# 删
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
del user_name[2:]
print (user_name) # ['张译', '冯绍峰']
7.步长
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
print(user_name[1:5:2]) # ['冯绍峰', '林更新']
print(user_name[0::2]) # ['张译', '赵又廷', '刘烨', 'aa']
print(user_name[1::3]) # ['冯绍峰', '刘烨']
print(user_name[4:1:-1]) #['刘烨', '林更新', '赵又廷']
# 案例一 实现列表的反转
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
print(user_name[::-1]) # ['aa', '1', '刘烨', '林更新', '赵又廷', '冯绍峰', '张译']
# 案例二 实现列表的反转
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
user_name.reverse()
print(user_name) # ['aa', '1', '刘烨', '林更新', '赵又廷', '冯绍峰', '张译']
8.for循环
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
for char in user_name:
print(char)
# 张译
# 冯绍峰
# 赵又廷
# 林更新
# 刘烨
# 1
# aa
user_name = ["张译", "冯绍峰", "赵又廷", "林更新", "刘烨", "1", "aa"]
for char in range(len(user_name)):
item = user_name[char] # 使用索引直接访问列表元素
print(item)
# 张译
# 冯绍峰
# 赵又廷
# 林更新
# 刘烨
# 1
# aa
# 错误示范
# 案例,删除姓张的
# 千万不能在循环的过程中,边循环获取列别的数据,边删除列表的数据
user_name = ["张译", "冯绍峰", "张又廷", "张更新", "张烨",'孟子义','张三','张思']
for char in user_name:
if char.startswith("张"):
user_name.remove(char)
print (user_name) # ['冯绍峰', '张更新', '孟子义', '张思']
# 正确方式,倒着删除
user_name = ["张译", "冯绍峰", "张又廷", "张更新", "张烨",'孟子义','张三','张思']
for index in range(len(user_name)-1,-1,-1):
item = user_name[index]
if item.startswith("张"):
user_name.remove(item)
print (user_name) #['冯绍峰', '孟子义']
1.4 转换
- int和bool不能转换
- str转换:很少用到
name = "孟子义"
va = list(name)
print (va) # ['孟', '子', '义']
- 元组
v1 = (11,22,3,445,6) # 元组
v2 = list(v1)
print(v2) # [11, 22, 3, 445, 6]
- 集合
v1 = {"张译", "冯绍峰", "赵又廷"} # 集合
v2 = list(v1)
print(v2) # ['张译', '赵又廷', '冯绍峰']
1.5 其他(嵌套)
列表属于容器,内部可以存放各种数据,所以他也支持列表的嵌套
name = ["孟子义",["张三","李四","王五"],True,[11,22,[45,34],98],"linzai"]
对于嵌套的值,可以根据之前学习的索引知识来学习
name = ["孟子义",["张三","李四","王五"],True,[11,22,[45,34],98],"linzai"]
print(name[0]) # 孟子义
print(name[1]) # ['张三', '李四', '王五']
print(name[0][2]) # 义
print(name[1][-1]) # 王五
print(name[1][-2]) # 李四
# 添加
name.append(666)
print (name) # ['孟子义', ['张三', '李四', '王五'], True, [11, 22, [45, 34], 98], 'linzai', 666]
name = ["孟子义",["张三","李四","王五"],True,[11,22,[45,34],98],"linzai"]
name[1].append(666)
print (name) # ['孟子义', ['张三', '李四', '王五', 666], True, [11, 22, [45, 34], 98], 'linzai']
# 删除
name = ["孟子义",["张三","李四","王五"],True,[11,22,[45,34],98],"linzai"]
del name[-2]
print (name) #['孟子义', ['张三', '李四', '王五'], True, 'linzai']
# 修改
name = ["孟子义",["张三","李四","王五"],True,[11,22,[45,34],98],"linzai"]
name[-2] = "加油"
print (name) # ['孟子义', ['张三', '李四', '王五'], True, '加油', 'linzai']
name = ["孟子义",["张三","李四","王五"],True,[11,22,[45,34],98],"linzai"]
name[2][0:2] = "come"
print (name)
标签:张译,06,name,数据类型,赵又廷,冯绍峰,user,print,day
From: https://www.cnblogs.com/linzaidehouhuayuan/p/18134101