列表类型内置方法
用途
用来描述兴许爱好、地名等多个值
定义
[ ]中可以放任意类型的数据,值与值之间用都好隔开
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)
False
True
- 追加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('天津')) # 因为移除了'天津',所以返回值为None
print(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)
<ipython-input-32-fec909f2102f> in <module>
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]