1.列表的概念
列表类似于数组,不同的是,列表里面的元素可以是任何数据类型,甚至可以是一个列表。列表中的元素。常以逗号隔开并且以中括号将他们括起来
2.列表的创建
1 #创建一个纯由字符串组成的列表,并赋值给变量member
2 member = ['小甲鱼','黑夜','牡丹','怡静']
3
4 #创建一个混合列表,列表内的元素有数字,字符串和纯数字列表,并将其赋值给变量mix
5 Mix=[1,"Daniel",3.14,[1,2,3]]
6
7 #创建一个空列表,并将其赋值给变量empty
8 empty=[] #空列表
3.向列表中 插入元素
(1)append():将括号中的参数作为一个元素加入到列表的末尾,调用方式为:列表.append(新元素)
(2)extend():将此括号内列表中的元素加到列表末尾,调用方式为 :列表.extend(要加入的列表)
(3)insert():允许用户将加入的元素放置到任何位置,调用形式为 列表.insert(新元素列表位置,元素);注意列表中第一个元素位置是从0开始的
1 Mix.append("Dennis") #Only one element
2 Mix.extend(["Tesla","Musk"]) #可以以列表形式添加多个元素
3 Mix.insert(0,"Steve") #插入元素,顺序自定,起点为0
4.从列表中删除元素
(1)remove():参数是一个元素,调用该函数则删除该列表中的该元素,如果输入的元素不在列表中,则程序报错
(2)del():直接删除一个元素值,可以直接通过索引值获得需要删除的元素
(3)pop():不给出参数,直接返回列表中最后一个元素并从列表中删除
1 Mix.remove("Daniel")
2 del Mix[0]
3 name=Mix.pop()
5.列表分片
(1)其基本形式是列表名[左索引值:右索引值:步长]:左右索引值及步长都可以省略,左索引值省略时表明,列表元素从0开始;右索引值省略表示包含左索引值右边的所有元素;步长省略表明步长为1
(2)python支持负数索引,-1相当于列表中右侧第一个元素值,以此类推。步长也允许为负值。
1 New=Mix[1:3] #把1,2分出来 2 New1=Mix[:] #把所有的元素分出来,实现列表拷贝 3 New2=Mix[:3] #把0,1,2分出来
注:通过将已知列表名直接赋值给一个变量 和 通过分片操作及列表内置方法copy()赋值给一个变量新建一个列表的本质区别:
(1)前者两个变量指向通一个数据存储空间,存储空间内数值发生变化,则两者均改变;
(2)后者相当于重新建立了一个存储空间,里面的数据不受其他空间内数值变化影响。
6.列表运算符
1 list1=[123,456]
2 list2=[456,123]
3
4 list3=list1+list2 #加,实现列表拼接,需列表元素类型相对应
5 print("list3=",list3)
6
7 list4=list1*3 #乘,列表元素重复出现三次
8 print("list4=",list4)
9 print('\n')
10
11 list5=[123,[123,234],456]
12 if 123 in list5[1]: #元素是否在列表中
13 print('true')
14 print("list5[1][1]=",list5[1][1]) #输出二维数组的元素
15 print('\n')
7.列表元素计数
1 counter=list4.count(123)
2 print("123counter in list4 is",counter)
3
4 counter=list5.count(123) #嵌套在数组里的数组内的元素不参与计数?
5 print("123counter in list5 is",counter)
6 print('\n')
8.列表元素索引
1 loc=list4.index(123)
2 print("123 first loc is",loc)
3
4 loc2=list4.index(123,2,5)
5 print("123'loc among 2-5 is",loc2)
6 print('\n')
9.列表元素翻转
1 list4.reverse() #list6=list4.reverse 会赋值失败
2 print("the reverse list4 is",list4)
3 print('\n')
4
5 list6=list4[:] #列表拷贝,当list4改变时,6不变
6 #list6=list4 当4改变时,6也变;6改变时,4不变
7 list6.reverse()
8 print("the reverse list4 is",list6)
9 print('\n')
10.列表元素排序
1 list4.sort() #顺序排列 2 print("the list4 after sorting is",list4) 3 print('\n') 4 5 list7=[9,8,7,6,5,4] 6 print("list7 is",list7) 7 list7.sort() 8 print("the list7 after sorting is",list7) 9 10 list7.sort(reverse=True) #倒序排列 11 print("the list7 after sorting is",list7) 12 print('\n')
11.列表的内置方法
通过dir(list)找出列表中有哪些内置方法:append clear copy count extend index insert pop remove reverse sort
(1)clear():用于删除列表中的所有元素,形成一个空的列表
(2)copy():用于浅拷贝一个列表
1 list1 = [1,3,5] 2 list2 =list1 3 list3 = list1.copy()