目录
列表类型内置方法
用途
用来描述兴许爱好、地名等多个值
定义
[ ]中可以放任意类型的数据,值与值之间用都好隔开
province_name_list = ['北京','上海','天津','广州','深圳']province_name_list1 = list(['北京','shanghai','天津',5,'深圳'])print(province_name_list)print(province_name_list1)
['北京', '上海', '天津', '广州', '深圳']['北京', 'shanghai', '天津', 5, '深圳']
常用操作+内置方法
优先掌握
- 按索引取值
province_name_list = ['北京','上海','天津','广州','深圳'] # 0 1 2 3 4 # -5 -4 -3 -2 -1 索引序号print(province_name_list[2])print(province_name_list[0])
天津北京
- 切片
语法:print(list[起始索引:终止索引:步长])
province_name_list = ['北京','上海','天津','广州','深圳']print(province_name_list[1:4])print(province_name_list[-2:])
['上海', '天津', '广州']['广州', '深圳']
- 长度len
语法:len(list)
province_name_list = ['北京','上海','天津','广州','深圳']print(len(province_name_list))
5
- 成员运算in|not in
语法:
- print(str in list1)
- print(str not in list2)
province_name_list = ['北京','上海','天津','广州','深圳']print('shanghai'in province_name_list)print('上海'in province_name_list)
FalseTrue
- 追加append
语法
- list.append():在列表的后面添加数据类型
province_name_list = ['北京','上海','天津','广州','深圳']province_name_list.append(['wuhan','四川'])province_name_list.append(23)print(province_name_list)
['北京', '上海', '天津', '广州', '深圳', ['wuhan', '四川'], 23]
- 删除del
province_name_list = ['北京','上海','天津','广州','深圳']del province_name_list[3]print(province_name_list)
['北京', '上海', '天津', '深圳']
- 循环
province_name_list = ['北京','上海','天津','广州','深圳']for i in province_name_list: print(i)
北京上海天津广州深圳
需要掌握
- insert
语法:list.insert(index,object)
在列表中index的位置插入任意数据类型object
province_name_list = ['北京','上海','天津','广州','深圳']province_name_list.insert(3,['wuhan','四川'])print(province_name_list)
['北京', '上海', '天津', ['wuhan', '四川'], '广州', '深圳']
- pop
语法:list.pop(index)
删除列表第index个元素,默认为最后一个元素
province_name_list = ['北京','上海','天津','广州','深圳']print(province_name_list.pop(3)) # 打印的是删除的元素print(province_name_list) # 打印的是删除后的列表
广州['北京', '上海', '天津', '深圳']
- remove
语法:list.remove()
移除列表中的元素
province_name_list = ['北京','上海','天津','广州','深圳']print(province_name_list.remove('天津')) # 因为移除了'天津',所以返回值为Noneprint(province_name_list)
None['北京', '上海', '广州', '深圳']
- count
语法:list.count(object)
从列表中数出object的个数
province_name_list = ['北京','上海','天津','广州','上海','深圳','上海']print(province_name_list.count('上海'))
3
- index
语法:list.index()
返回列表中元素的索引值
province_name_list = ['北京','上海','天津','广州','深圳']print(province_name_list.index('天津'))
2
- clear
语法:list.clear()
清空列表内容
province_name_list = ['北京','上海','天津','广州','深圳']province_name_list.clear() print(province_name_list)
[]
- copy
语法:list.copy()
复制列表
province_name_list = ['北京','上海','天津','广州','深圳']province_name_list1 = province_name_list.copy()print(province_name_list1)
['北京', '上海', '天津', '广州', '深圳']
- extend
语法:list.extend(list1)
将list1拼接进list列表中
province_name_list = ['北京','上海','天津','广州','深圳']province_name_list.extend([2,4,'江苏'])print(province_name_list)
['北京', '上海', '天津', '广州', '深圳', 2, 4, '江苏']
- reverse
语法:list.reverse()
将列表翻转
province_name_list = ['北京','上海','天津','广州','深圳',2, 4, '江苏']province_name_list.reverse()print(province_name_list)
['江苏', 4, 2, '深圳', '广州', '天津', '上海', '北京']
- sort
语法:list.sort(reverse)
将列表里的内容进行正向排序,默认reverse=False
- 注意:排序的元素必须是同一种数据类型
province_name_list = ['北京','上海','天津','广州','深圳',2, 4, '江苏']province_name_list.sort() # 报错,整型和字符串不是一种数据类型print(province_name_list)
---------------------------------------------------------------------------TypeError Traceback (most recent call last)in 1 province_name_list = ['北京','上海','天津','广州','深圳',2, 4, '江苏']----> 2 province_name_list.sort() # 报错,整型和字符串不是一种数据类型 3 4 print(province_name_list)TypeError: '<' not supported between instances of 'int' and 'str'
lis = [1,4,7,5,3,2,0]lis.sort()print(lis) # 默认reverse=False,为正向排序lis.sort(reverse=True)print(lis)
[0, 1, 2, 3, 4, 5, 7][7, 5, 4, 3, 2, 1, 0]
存一个值or多个值
- 多个值
有序or无序
- 有序
可变or不可变
- 可变数据类型
lis = [1, 2, 3]print(lis)print(id(lis))lis.append(4)print(lis)print(id(lis))
[1, 2, 3]1323516861192[1, 2, 3, 4]1323516861192
练习
对如下列表进行排序lis = [1, 2, 34, 5, 7, 10, 6, 34, 22, 11, 3]
# 方法一lis = [1, 2, 34, 5, 7, 10, 6, 30, 22, 11, 3]lis.sort()print(lis)
[1, 2, 3, 5, 6, 7, 10, 11, 22, 30, 34]
# 方法二 自定义一个排序函数def sort1(list): for i in range(len(list)): for j in range(i+1,len(list)): if lis[i] > lis[j]: lis[i],lis[j] = lis[j],lis[i] print(list)lis = [1, 2, 34, 5, 7, 10, 6, 30, 22, 11, 3]sort1(lis)
[1, 2, 3, 5, 6, 7, 10, 11, 22, 30, 34]