python语言基础-列表
列表
一.为什么需要列表?
省空间,易整体操作,相当于其它语言中的数组。
二.列表的创建格式:
-
列表对象名=[ 元素,英文逗号隔开]
- 列表对象名=list([元素,英文逗号隔开])
1 #第一种创建列表的方法:列表对象名=[元素,英文逗号隔开]
2 lst=['大圣','花果山',88,158,'大圣'] #列表元素有序、可重复、可混存任意类型
3 print(lst)
4 #第二种创建列表的方法:列表对象名=list([元素,英文逗号隔开])
5 lst1=list(['大圣','花果山',88,158,'大圣'])
6 print(lst1)
三.列表的特点:
- )列表元素按顺序排序
- )索引映射唯一一个数据(从左往右数0开头,从右往左数-1开头)
- )列表可以存储重要数据
- )任意数据类型混存
- )根据需要动态分配和回收内存
lst=['大圣','花果山',88,158,'大圣']
print(lst[-1],lst[2]) #['大圣',88]
四.列表的查询操作:
1.获取列表中指定元素的索引:
列表对象名.index(指定元素) 或者列表对象名.index(指定元素,start,stop)
1 lst=['大圣','花果山',88,158,'大圣']
2 print(lst.index('七甜')) #ValueError: '七甜' is not in list
3 print(lst.index('花果山',1,4)) #1
2.获取列表中的单个元素:
- )正向索引从0到n+1
- )逆向索引从n到-1
- )指定索引不存在,indexError
1 lst1=list(['大圣','花果山',88,158,'大圣'])
2 #获得索引为2的元素
3 print(lst1[2]) #88
4 #获得索引为-1的元素
5 print(lst1[-1]) #大圣
3.获得列表中的多个元素_切片操作
1 #列表的切片:列表名[start,stop,step]
2 lst=[10,20,30,40,50,60,70,80,90]
3 print(lst[1:6:1]) #[20,30,40,50,60]
- )语法格式:列表名[start:stop:step]
- )切出来的片段是新列表
1 print('原列表',id(lst)) 2 lst2=lst[1:6:1] 3 print('切的片段',id(lst2)) 4 ''' 5 原列表 2087280981952 6 切的片段 2087280992960 7 总结:切出来的片段是新的列表 8 ''' -
)start默认为0,stop默认最后一个元素,step默认为1
1 lst=[10,20,30,40,50,60,70,80,90] 2 print(lst[1:6:1]) #[20, 30, 40, 50, 60] 3 #这两种形式都默认step为1 4 print(lst[1:6:]) #[20, 30, 40, 50, 60] 5 print(lst[1:6]) #[20, 30, 40, 50, 60] 6 #默认start为0 7 print(lst[:6:2]) #[10, 30, 50] 8 #默认stop为列表中最后一个元素 9 print(lst[1::2]) #[20, 40, 60, 80] 10 print(lst[1::4]) #[20, 60] - 逆位无所谓
1 1 #逆位就逆位咯~ 2 2 lst=[10,20,30,40,50,60,70,80,90] 3 3 print(lst) 4 4 print(lst[0:-5:1]) #[10,20,30,40]
五.列表的增删改操作
1.列表元素的增加操作
- )append()在列表的末尾添加一个元素
1 #append()向列表的末尾添加一个元素 2 lst=[10,20,30] 3 print('添加元素之前',lst,id(lst)) 4 lst.append(100) 5 print('添加元素之后',lst,id(lst)) 6 ''' 7 添加元素之前 [10, 20, 30] 2202366392320 8 添加元素之后 [10, 20, 30, 100] 2202366392320 9 ''' - )extend()在列表的末尾添加一个或多个元素
1 #extend()向列表的末尾添加一个或多个元素
2 lst=[10,20,30] 3 lst2=['hello','world'] 4 lst.append(lst2) #将lst2作为一个元素添加进lst 5 print(lst) 6 #[10, 20, 30, ['hello', 'world']]1 #extend()向列表的末尾添加一个或多个元素 2 lst=[10,20,30] 3 lst2=['hello','world'] 4 lst.extend(lst2) #将lst2的多个元素添加到lst中 5 print(lst) 6 #[10, 20, 30, 'hello', 'world'] - )insert()在列表的任意位置添加一个元素
1 #insert()在列表的任意位置添加一个元素 2 lst=[10,20,30] 3 lst3=[True,False,'hello'] 4 lst.insert(1,lst3) #插在第一个元素的位置 5 print(lst) 6 #[10, [True, False, 'hello'], 20, 30] - )切片,在列表的任意位置添加至少一个元素
1 #切片:在列表的任意位置添加一个或多个元素 2 lst=[10,20,30] 3 lst3=[True,False,'hello'] 4 lst[1:]=lst3 #意为:从第一个元素起到结束这一部分被切掉,替换成lst3 5 print(lst) 6 #[10, True, False, 'hello']
2.列表元素的删除操作
1.remove() 只能删除一个,若有重复元素则删除第一个,被删元素不存在则报valueError
![]()

2.pop() 有索引删除指定索引元素,无索引删除列表中最后一个元素,指定索引不存在则报IndexError
![]()

3.切片 删除一个或多个元素


4.clear() 删除所有元素
![]()

5.del 删除列表
![]()
![]()
3.列表元素的修改操作
- 为指定索引元素赋予一个新值
- 为指定的切片赋予一个新值

4.列表元素的排列操作
- 调用sort()方法

- 调用内置函数sorted()

两者默认排序均为升序,都可以在括号内指定reverse=True将排列顺序改为降序,区别在于,调用内置函数sorted()会产生新的列表对象,而前者却不会。
注意:列表对象名.sort() & sorted(列表对象名)
六.列表生成式,即生成列表的格式
- 语法格式: [ i*i for i in range(1,10) ]
表示列表元素的表达式 自定义变量 可迭代对象






浙公网安备 33010602011771号