Python第四天
列表的初识 2 索引值 切片 (步长)3 列表的增删改查 4列表的嵌套一定要会 5 range与for循环结合
1 列表的初识
字符串:只是存储少量的数据 ,字符串操作后的返回值都是字符串(单一)
list=【 100,‘’Alex“,True,【1,2,3】 承载任意数据类型,存储大量的数据
Python常用的容器型数据类型
列表是有序的 有索引值的 可切片(步长) 方便取值
2 列表的索引 步长 切片
例子
li=[100,‘taiba‘,True,[1,2,3]]# #索引# l1=li[1]# print(l1)
li=[100,‘taiba‘,True,[1,2,3]]#切片l1=li[-1:-3:-1]print(l1)
li=[1,3,2,‘a‘,4,‘b‘,5,‘c‘]# l1=li[-3:0:-2]# print(l1)2 列表的增删改查列表的创建
#列表的创建#方法一:li=[1,2,‘alex‘]#方法二:li=list()#创建空列表li=list(‘dasdgjjlkladdallsjl‘)#方式三:列表推导式容器型的数据都可以增删改查
#增# #append:在源列表的基础上追加在最后 。append(x就是追加的内容分# # l1.append(‘xx‘)#这一句是指令 追加# # #print(l1,append(‘xx‘))#错误的 不能打印指令# # print(l1)# # #例子# # l1=[‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘]# # while 1:# # name=input(‘ingshuruxingming:(shuruQhuoqtuichu) ‘)# # if name.upper()==‘Q‘:# # print(‘shurutuichule‘)# # break# # l1.append(name)# # print(l1)# # #insert方法 。insert(i位置,x加入的内容)# l1=[‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘]# l1.insert(2,‘高兴‘)# print(l1)
#迭代着追加 extend 。extend(t是迭代的元素)# l1.extend(‘abcd‘)# print(l1)
# #迭代着增加 extendl1.extend([‘alex‘,1,3]) 追加list中元素print(l1)删
#删1 按索引位置去删 list。pop(i是索引位置)l1=[‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘]l1.pop(-1)print(l1)
2 制定元素去删 remove list。remove(x是内容是指定元素) 如果有多个重名元素 默认从左边删除第一个
l1=[‘susie‘,‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘,‘susie‘]l1.remove(‘susie‘)print(l1)3 清空list 用clear
# l1=[‘susie‘,‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘,‘susie‘]# l1.clear()# print(l1)
4 del 按索引删 l1=[‘susie‘,‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘,‘susie‘]
del l1[-1] print(l1) 按切片(步长)
l1=[‘susie‘,‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘,‘susie‘]del l1[::2]print(l1)改1 按索引值改 就是按索引值重新赋值
l1=[‘susie‘,‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘,‘susie‘]l1[0]=‘nansheng‘print(l1)2 按切片改 从索引值是2开始到最后切片后重新赋值成可迭代的元素
l1=[‘susie‘,‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘,‘susie‘]l1[2:]=‘fffffffffffffffffffff‘print(l1)3 按切片 步长 改 重新赋值元素和源列表中元素位置要一一对应替换
l1=[‘susie‘,‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘,‘susie‘]l1[::2]=‘ffff‘print(l1)4查索引 切片 (步长) forfor
l1=[‘susie‘,‘taib‘,‘nvshen‘,‘susie‘,‘xiaobangzhu‘,‘炎龙‘,‘susie‘]for i in l1: print(i)5列表的嵌套 重中之重 关键是不断的找索引值
l = [2, 30, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]# 将列表lis中的"tt"变成大写(用两种方式)。# 将列表中的数字3变成字符串"100"(用两种方式)。# 将列表中的字符串"1"变成数字101(用两种方式)。# l[3][2][1][0]=l[3][2][1][0].upper()# print(l)# l[3][2][1][1]=str(l[3][2][1][1]+97)# print(l)# l[3][2][1][-1]=int(l[3][2][1][-1])+100# print(l)
6元组 只读列表 存储大量的数据 可以索引 切片(步长) 了解没有增删改 只能读元组中有列表 列表中可以增删改应用 重要数据 用户名 密码 个人信息 不想让别人改动的一些数据 存在元组中
# t = (‘a‘, ‘b‘, ‘太白‘, 3, [1,2,3])# # t1=t[0]# # t2=t[::2]# # print(t[0])# # print(t2)# # for i in t:# # print(i)# # print(len(t))# t[-1].append(3)# print(t)
元组的拆包 分层赋值
a,b =(1,2)print(a,b)
7 range 类似于列表的容器 自定制数字范围的数字列表for i in range(10):for i in range(1,100):for i in range (2,100,2):最后一个2是步长for i in range(100,2,-2):最后一个数字是步长
l = [1,2,3,‘alex‘,‘tai‘]# for i in range(len(l)):# print(i)
练习: