基础数据类型
四、list列表
存放大量数据,大量的数据在列表中便于操作,列表示有序的,有索引值,可切片,方便取值。
1.list的增
1).append('元素') 在列表后面按元素添加
li=[1,'a','b','a',2,3,'老男孩']li.append('alex')print(li) #[1, 'a', 'b', 'a', 2, 3, '老男孩', 'alex']li.append([1,2,3])print(li) #[1, 'a', 'b', 'a', 2, 3, '老男孩', 'alex', [1, 2, 3]]
name_list=['fhu','ddd','hdhu','ggj']while True: name=input('请输入新员工的名字:') if name.upper()=='Q':break else: name_list.append(name) print('已成功添加新员工%s'% name)print(name_list) 执行结果:
请输入新员工的名字:guo
已成功添加新员工guo请输入新员工的名字:Q['fhu', 'ddd', 'hdhu', 'ggj', 'guo']
2).insert(索引位置,'添加内容') 按照索引位置添加
li=[1,'a','b','a',2,3,'老男孩']li.insert(2,'guo')print(li) #[1, 'a', 'guo', 'b', 'a', 2, 3, '老男孩']
3).extend([])迭代添加,把添加内容的每一个元素分别添加进去,添加在列表的最后
li=[1,'a','b','a',2,3,'老男孩']li.extend([1,2,3])print(li) #[1, 'a', 'b', 'a', 2, 3, '老男孩', 1, 2, 3]
2.list的删
1).pop(索引位置) 按索引删除,默认删除在后一个,list里唯一一个有返回值的
li=[1,'a','b','a',2,3,'老男孩']print(li.pop(3)) #a
2).remove('元素') 按元素删除,同一元素有多个的默认删除一个
li=[1,'a','b','a',2,3,'老男孩']li.remove('老男孩')print(li) #[1, 'a', 'b', 'a', 2, 3]
3).clear()清空列表内容,返回一个空列表
li=[1,'a','b','a',2,3,'老男孩']li.clear()print(li) #[]
4)del[ : ]删除列表或切片删除列表的元素
li=[1,'a','b','a',2,3,'老男孩']del li[:2]print(li) #['b', 'a', 2, 3, '老男孩']
3.list的改
1)按照索引改 [索引位置 ]='新的元素',改的内容作为一个整体添加进去
li=[1,'a','b','a',2,3,'老男孩']li[1]='A'print(li) #[1, 'A', 'b', 'a', 2, 3, '老男孩']li[1]=[1,2,3]print(li) #[1, [1, 2, 3], 'b', 'a', 2, 3, '老男孩']
2)按照切片改,改的内容每一个元素分别添加进去
li=[1,'a','b','a',2,3,'老男孩']li[:3]='Q'print(li) #['Q', 'a', 2, 3, '老男孩']li=[1,'a','b','a',2,3,'老男孩']li[:3]=[1,2,3]print(li) #[1, 2, 3, 'a', 2, 3, '老男孩']
4.list的查
1)按照索引、切片查
li=[1,'a','b','a',2,3,'老男孩']print(li[3]) #aprint(li[:5]) #[1, 'a', 'b', 'a', 2]
2)for循环查
li=[1,'a','b','a',2,3,'老男孩']for i in li: print(i)执行结果:1aba23老男孩
5.list的其他操作方法
1).sort从小到大正向排序
2).sort(reverse=True)从大到小反向排序
3).reverse() 列表顺序翻转,不重新排序
li=[1,'a','b','a',2,3,'老男孩']li.reverse()print(li) #['老男孩', 3, 2, 'a', 'b', 'a', 1]
4)len() list的长度
5).count(元素) 元素在列表中的个数
li=[1,'a','b','a',2,3,'老男孩']print(li.count('a')) #2
6).index('元素') 通过元素找索引
li=[1,'a','b','a',2,3,'老男孩']print(li.index('a')) #1
6.list的嵌套
li=[1,2,'alex',['100','wusir',99],22]# 将wusir变成首字母大写WUSIRli[3][1]=li[3][1].upper()print(li)
7.range 可控的数字列表,指定的范围生成指定的数字,与for循环配合。
#1.用range打印1-99for i in range(1,100): print(i)#2.用range打印100,99,...1for i in range(100,0,-1): print(i)