4 列表 元组
一.列表的增删改查
列表是可变数据类型 有序 可以存储任意数据类型
1.增
lis.append(元素) 追加 #返回值为None
lis.insert(索引,元素) #在索引位置插入元素
lis.extend(元素) 迭代添加
2.删
1. pop() 默认删除最后一个
pop(索引值) 有返回值
2.remove(元素) 移除第一个元素
3.del lis[start,end,step] 切片删除
4.clear()清空
3.改
li[index]="元素"
切片修改
lis[1:3]=[元素1,元素2]
如果切片步长为不是1,需要注意元素个数 如果切片步长为1则不需要注意元素个数
4.查
for i in lis:
print(i)
for i in range(len(lis)):
print(i,lis[i])
5.其他操作
lis.sort() #升序
lis.sort(reverse=True)# 降序
lis.reverse()#反转,倒着排
lis.count(元素) 数数
len(lis)
lis.index(元素)
二.元组 tuple 只读列表
1.不可变数据类型: 不可变指的是元组的第一层元素内存地址不可变
2.子元素内部是否可变,取决于子元素是否是可变数据类型
3.当元组中只有一个元素时需要在后面用逗号分隔开 t=(1,)
t1=(1)
print(t1,type(t1)) # 1 <class 'int'>
t2=(1,)
print(t2,type(t2)) #(1,) <class 'tuple'>
4.元组的方法
tup.count(元素)
tup.index(元素)
len(tup)
for i in rup:
print(i)
三.作业易错点和思路总结
1. str.strip(ab) #迭代删除前后的a和b
name="baformAaab"
移除name变量开头的a"与最后的"b",并输出处理结果
print(name.strip("ab") #结果:formA
2.str.capitalize() #只有首字母大写,其他字母都变为小写
print(name.capitalize()) #结果:Baformaaab
3.int("1 ") 会自动去空格,转化出数字类型
4.思路
1.累加思想 打印字符串,1个,2个,3个.......
str2="中国是一个伟大的国家"
需求:
分别打印: 中 , 中国 ,中国是,.......
sum=""
for i in str2:
print(sum)
sum+=i
四.经典案例
#一.百家姓 s = """ 赵钱孙李,周吴郑王。 冯陈褚卫,蒋沈韩杨。 朱秦尤许,何吕施张。 孔曹严华,⾦魏陶邓。 """ name=input("请输入姓名:").strip() s2=s.replace(",","").replace("。","").replace("\n","").strip() #先把逗号和句号替换成空字符串 # 方法一: sum="" for i in name : sum+=i if sum in s: print("在百家姓中") break else: print("不在百家姓中") # 方法二: flag=0 for i in name: sum+=i if sum in s: flag+=1 if flag==0: print("不在") else: print("在") # 二.判断是否是回文 # 方法一: 切片思路 content=input("请输入一句话:") if content==content[::-1]: print("是回文") else: print("不是回文") # # 方法二:用while 循环 # 倒着排列好再判断 # 如何实现倒着排列: content=input("请输入一句话:") i=len(content)-1 sum="" while i>=0: # 1.需要倒着取索引值---->通过索引获取元素 # 2.再用字符串拼接------>累加思想 sum+=content[i] i-=1 print(sum) if sum==content: print("是回文") else: print("不是回文") #方法二 用for 循环 content=input("请输入一句话:") # print("用户输入的内容:",content) sum="" li=[] for i in content: li.append(i) li.reverse() for i in li: sum+=i # print("用户输入内容倒着排:",sum) if sum==content: print("是回文") else: print("不是回文")
有疑问可以加wx:18179641802,进行探讨