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)
练习: