1.列表简介
在python中用方括号[ ]来表示列表,里面的元素用逗号“,”隔开。
例如:number=['1','2','3','4','5'],,,,,,cars=["ofo小黄车","摩托车","大卡车"]
列表里的是字符串类型,可以''和""。但在print()中与其它字符串输出打印时也还需要转成str类型。
print(number) >>>>>>['1','2','3','4','5']
直接访问列表会连括号一起打印出来。
2.访问列表元素
列表是有序集合,可以使用该元素的位置或者索引告诉python要访问的元素,
例如:number=['1','2','3','4','5'] print(number[0]) >>>>>1 print(number[2]) >>>>3
索引从0开始,第一个列表元素的索引为0,所以访问number[0]会打印1,访问number[2]会打印3。
倒序访问: print(number[-1]) >>>>5 print(number[-2]) >>>>4
-1表示访问列表中的最后一个元素,-2表示列表中倒数第二个元素。
3.修改、添加、和删除元素
3.1.修改列表元素:
number=['1','2','3','4','5']
print(number) #>>>>>>>>输出['1','2','3','4','5']
number[0]='6' #修改0号位置元素为‘6’
print(number) #>>>>>>>>输出['6','2','3','4','5']
3.2.在列表中添加元素
- append()在列表末尾添加元素
使用append()语句在列表末尾添加元素,例如:
number=['one','two','three','four','five'] #定义一个列表
number.append('six') #使用append()将元素six添加到列表末尾
print(number) #>>>>['one','two','three','four','five','six']
tests=[] #设置一个空列表
tests.append('1') #使用append()在空列表中添加元素1
print(tests) #['1']
tests.append('2') #使用append()在空列表末尾添加元素2
print(tests) #['1','2']
- insert()在列表中插入元素
使用insert()在列表中插入新元素,insert(插入位置,‘插入的值’),例如:
tests=['1','2']
tests.insert(2,'3') #使用insert()方法在第二个位置插入‘3’
print(tests) #>>>>>>['1','2','3']
tests.insert(4,'5') #当前列表中总共有3个元素,位置也只有0.1.2,但我在4号位置插入'5'
print(tests) #>>>>['1','2','3','5'] 结果只是在列表的末尾添加‘5’
print(tests[3]) #>>>>5 而在调用时打印第3位元素结果为'5'
#print(tests[4]) #这句错误,所以,当insert插入的位置大于列表时会直接将该元素放到列表的末尾
print(len(tests)) #可以使用len查看列表的长度 >>>>>>4
tests.insert(4,'6') #将元素'6'插入到第4号位置
print(tests) #>>>>>>[ '1', '2', '3', '5','6']
3.3.从列表中删除元素
- del语句
#del语句根据元素所在列表中的位置删除元素,删除后是无法访问该元素的。
number=['1','2','3']
del number[0] #使用del语句条件是需要知道该元素所在的位置
print(number) #>>>['2','3']
- pop()方法
#使用pop()方法弹出栈顶元素,就是将列表中最后的元素取出。
test=[ '1', '2', '3', '5']
i=test.pop() #此时列表中的最后一位元素‘5’被取出来放到i
print(test) #test中还剩下>>>[ '1', '2', '3']
#pop()默认删除的是最后一位,还可以通过指定位置来选择删除哪一位置上的元素,如下:
a=test.pop(0) #此时0号位上的‘1’被拿出来放到 a
print(test) #test中还剩下>>>[ '2', '3']
b=tests.pop()
print("被pop()方法取出的元素:b="+str(b)+"\n列表中还剩下的元素:"+tests.__str__())
#>>>被pop()方法取出的元素:b=3
#>>>列表中还剩下的元素:[ '2']
- remove()方法
#remove()根据删除元素的值删除
number=['1','2','3','4']
number.remove('1')
print(number) #删除值‘1’,此时列表还剩下>>>>['2','3','4']
too_big='4' #删除的值暂时还可以调用,暂时保存在too_big变量中
number.remove(too_big)
print(number) #>>>['2','3']
print("我想删除"+too_big+",因为它太大了") #>>>我想删除4,因为它太大了
#注意:remove()只删除列表中第一个指定的值,如果要删除的值在列表中多次出现,需要使用循环来判断是否完全删除。
练习:
print("\n\n\n"+"练习:")
friends=["姚慧琪","李天赐","李云"] ###开始的列表
print("我的嘉宾名单:"+str(friends))
print("其中,"+friends[0].__str__()+"因为太远而无法参加晚餐!") #使用索引即元素的位置访问该元素,访问列表中的str元素也需要将其转换str
friends[0]='吕学学' #使用索引修改元素的值
print("新的嘉宾名单:"+str(friends)) #此处注意,将列表中的值转换str类型
print("此时我找到了一家超大的饭店,再次邀请姚慧琪来吃饭!")
friends.insert(0,'姚慧琪') #使用insert()函数在0号位置插入
print("现在我的嘉宾名单为:"+str(friends))
friends.insert(2,'李霞霞') #使用insert()函数在指定位置插入
print("突然李霞霞来了,所以新的名单为:"+str(friends))
friends.append('李嘟嘟') #使用append()在列表末尾加入
print("此时,又来了一位李嘟嘟,所以新的名单为:"+str(friends))
print("由于突发情况,饭店倒闭了,所以只能让两个人吃饭")
a=friends.pop() #使用.pop()删除列表中的最后一个元素
print("亲爱的"+a+",非常抱歉,现在除了你还有"+len(friends).__str__()+"个人,你回家吃吧!")
b=friends.pop() #这里可以使用变量 b这样就可以在之后随时调用a或者b的值
print("亲爱的"+b+",非常抱歉,现在除了你还有"+len(friends).__str__()+"个人,你回家吃吧!")
a=friends.pop() #因为第二章中,可以随时更改变量的值,这里可以重复使用a,但被覆盖的值就会不见
print("亲爱的"+a+",非常抱歉,现在除了你还有"+len(friends).__str__()+"个人,你回家吃吧!")
a=friends.pop() #从已经删除最后一个元素的列表里再取出最后一个元素
print("亲爱的"+a+",非常抱歉,现在有"+str(len(friends)+1)+"个人,你回家吃吧!") #因为是已经执行pop操作后才计数的,所以+1
print("deal"+friends[0].__str__()+"您今晚有饭吃!")
print("deal"+friends[1].__str__()+"您今晚有饭吃!")
del friends[0] ###这里可以是0,但下面不可以为1,因为就两个,可以删除0或者1位置上的元素
del friends[0] ####但是已经执行了上面的操作,所以现在只剩下一个0位置上的元素,所以删除的位置只能是0
print(friends.__len__()) ###打印执行删除后的操作,所以只剩下一个长度为0的空列表
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
练习:
我的嘉宾名单:['姚慧琪', '李天赐', '李云']
其中,姚慧琪因为太远而无法参加晚餐!
新的嘉宾名单:['吕学学', '李天赐', '李云']
此时我找到了一家超大的饭店,再次邀请姚慧琪来吃饭!
现在我的嘉宾名单为:['姚慧琪', '吕学学', '李天赐', '李云']
突然李霞霞来了,所以新的名单为:['姚慧琪', '吕学学', '李霞霞', '李天赐', '李云']
此时,又来了一位李嘟嘟,所以新的名单为:['姚慧琪', '吕学学', '李霞霞', '李天赐', '李云', '李嘟嘟']
由于突发情况,饭店倒闭了,所以只能让两个人吃饭
亲爱的李嘟嘟,非常抱歉,现在除了你还有5个人,你回家吃吧!
亲爱的李云,非常抱歉,现在除了你还有4个人,你回家吃吧!
亲爱的李天赐,非常抱歉,现在除了你还有3个人,你回家吃吧!
亲爱的李霞霞,非常抱歉,现在有3个人,你回家吃吧!
deal姚慧琪您今晚有饭吃!
deal吕学学您今晚有饭吃!
0
4.组织列表
4.1.使用sort()方法对列表永久性排序
abc=['b','c','d','a']
abc.sort() #使用sort()方法
print(abc) #>>>['a','b','c','d']
#现在列表是按字母顺序排序的,再也无法恢复到原来的排序。
#给sort()传递reverse=Ture参数,让其按照字母顺序相反的顺序排序(字母倒序)、
abc=['b','c','d','a']
abc.sort(reverse=Ture) #倒序
print(abc) #>>>['d','c','b','a']
4.2.使用sorted()对列表临时排序
abc=['c','b','a','d']
print(sorted(abc)) #使用sorted()函数暂时排序>>>>>>['a','b','c','d']
print(abc) #因为sorted()排序只是暂时的,所以这里又变成原来的样子>>>['c','b','a','d']
#给sorted()进行参数设置,让它暂时倒序
abc=['c','b','a','d']
print(sorted(abc,reverse=True)) #>>>['d','c','b','a']
4.3.reverse()倒着打印列表
abc=['c','b','a','d']
abc.reverse()
print(abc) #>>>['d','a','b','c']
#reverse()只是反转列表中元素的排列,如果要恢复原来的排序,再反转一次就可以了
4.4.len()确定列表长度
abc=['a','b','c']
print(len(abc)) >>>3
#也可以
print(abc.__len__()) >>>3