基础数据类型
四、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]) #a print(li[:5]) #[1, 'a', 'b', 'a', 2]
2)for循环查
li=[1,'a','b','a',2,3,'老男孩'] for i in li: print(i) 执行结果: 1 a b a 2 3 老男孩
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变成首字母大写WUSIR li[3][1]=li[3][1].upper() print(li)
7.range 可控的数字列表,指定的范围生成指定的数字,与for循环配合。
#1.用range打印1-99 for i in range(1,100): print(i) #2.用range打印100,99,...1 for i in range(100,0,-1): print(i)