列表(list)
1.创建列表:
格式:列表名 = [参数1,参数2,……,参数n]
list1 = [] #空列表
list2 = [15,29,10,34] #非空列表
# 注意:列表中的数据类型可以使不同类型,不要求元素数据是相同类型
list3 = [1,2,"tom","1.3","True"]
2.列表元素的访问:
取值:
格式:列表名[下标]
list4 = [1,2,3,4,5]
print(list4[2])
---------------------------
输出:3
3.替换:
格式:列表名[下标] = 替换数 注意:不要越界(下标超过列表长度)
list5 = [1,2,3,4,5]
list5[4] = 100
print(list5)
list5[5] = 300
print(list5)
--------------------
输出:[1, 2, 3, 4, 100]
list5[5] = 300
IndexError: list assignment index out of range
4.列表组合:
list6 = [1,2,3]
list7 = [4,5,6]
list8 = list5 + list6
print(list8)
-----------------------------
输出:[1,2,3,4,5,6]
5.列表重复:
list9 = [1,2,3]
print (list9 *3)
-----------------------------
输出:[1,2,3,1,2,3,1,2,3]
6.判断元素是否在列表中:
list10 = [1,2,3]
print(2 in list10)
print(4 in list10)
------------------------
输出: True
False
7.列表截取:
格式:list[a:b]
list11 = [1,2,3,4,5,6,7,8,9]
print(list11[2:6])
print(list11[3:])
print(list11[:5])
-----------------------------
输出: [3,4,5,6]
[4,5,6,7,8,9]
[1,2,3,4,5]
8.二维列表获取数据:
格式:list[a][b]
list12 = [[1,2,3],[4,5,6],[7,8,9]]
print(list12[1][2])
-----------------------------------
输出: 6
9.添加元素:
格式:list.append( ) 在列表末尾添加新的元素
list13 = [1,2,3,4,5]
list13.append(6)
print(list13)
list13.append([7,8,9])
print(list13)
--------------------------
输出: [1,2,3,4,5,6]
[1,2,3,4,5,6,[7,8,9]]
10.添加多个元素:
格式:list.extend([ ]) 在末尾一次性追加另一个列表中的多个值
list14 = [1,2,3,4,5]
list14.extend([6,7,8])
print(list14)
-------------------------------
output:[1,2,3,4,5,6,7,8]
11.指定位置添加元素:
格式:list.insert(a,b) 在下标a处添加一个元素b,不叠盖原数据,原数据向后顺延
list15 = [1,2,3,4,5]
list15.insert(1,100)
print(list15)
list15.insert(1,[100,200])
print(list15)
-------------------------------
output:[1,100,2,3,4,5]
[1,[100,200],100,2,3,4,5]
12.删除数据
格式:list.pop(x)移除列表中指定下标x处的元素,默认移除最后一个元素,返回值为删除的数据内存
list16 = [1,2,3,4,5]
list16.pop()
print(list16)
list16.pop(2)
print(list16)
print(list16.pop(1))
----------------------------------
output:[1,2,3,4]
[1,2,4]
2
13.移除数据
格式:list.remove(x)移除列表中的元素x的第一个匹配结果
list17 = [1,2,3,4,5,3,4,1,4]
list17.remove(4)
print(list17)
---------------------------------
output:[1,2,3,4,5,3,4,1,4]
14.清空列表
格式:list.claer()
list18 = [1,2,3,4,5]
list18.clear()
print(list18)
--------------------------------
output:[]
15.查找:
格式:list.index(x[,start][,end])从列表中查找某一个值第一个匹配的索引值(下标),默认为开始结束
list19 = [1,2,3,4,5,3,4,5,6]
index1 = list19.index(3)
index2 = list19.index(3,3,7)
print(index1)
print(index2)
-----------------------------------
output:2
5
16.获取列表中元素个数:
格式:len(list)
list20 = [1,2,3,4,5]
print(len(list20))
---------------------
output:5
17.获取列表中最大值和最小值
格式:max(list)/min(list)
list21 = [1,2,3,4,5]
print(max(list21),min(list21))
---------------------
output:5 1
18.获取列表中元素a出现的次数:
格式:list.count(a)
list22 = [1,2,3,4,5,3,4,5,6,2,3]
print(list23.count(3))
---------------------
output:3
19.按倒序排序:
格式:list.reverse()
list23 = [1,2,3,4,5]
list23.reverse()
print(list25)
----------------------
output:[5,4,3,2,1]
20.按升序排序
格式:list.sort()
list24 = [2,1,3,5,4]
list24.sort()
print(list24)
------------------------
output: [1,2,3,4,5]
21.拷贝
1)浅拷贝,引用拷贝(拷贝的堆区地址):
list25 = [1,2,3,4,5]
list26 = list25
list26[1] = 200
print(list25)
print(list26)
print(id(list25))
print(id(list26))
---------------------------
output: [1, 200, 3, 4, 5]
[1, 200, 3, 4, 5]
1884813870856
1884813870856
2)深拷贝,内存拷贝,即在堆区生成一个新的list,堆区地址就不相同了
list27 = [1,2,3,4,5]
list28 = list27.copy()
list28[1] = 200
print(list27)
print(list28)
print(id(list27))
print(id(list28))
----------------------------
output:[1, 2, 3, 4, 5]
[1, 200, 3, 4, 5]
1576872003336
1576872019592