1、列表的概述
所谓列表,我们可以简单的把它理解为按照索引存放各种集合,在列表中,每个位置代表⼀个元素。在Python中,列表的对象方法是list类提供的,列表是有序的。列表
的关键字是list,其数据的形式是[]。列表的特点具体如下:
(1)可存放多个值;
(2)按照从左到右的顺序定义列表元素,下标从0开始顺序访问;
(3)列表是有序的;
(4)列表也是可变化的,也就是说可以根据列表的索引位置来修改列表的值;
2、列表的方法
查看列表的方法:
list1=[1,2,3,"a","b","python"]
#查看列表的方法
print(dir(list1))
2.1增加元素
2.1.1append方法
append方法是在列表的最后面添加一个元素。
# 增加的方法 append、 insert
yl=[1,2,3,4,5,6]
#append是在最后面添加一个元素
yl.append(7)
print(yl)
2.1.2insert方法
insert方法根据索引添加元素
# 增加的方法 append、 insert
#insert根据索引添加元素
yl=[1,2,3,4,5,6]
yl.insert(3,7)
print(yl)
2.2删除元素
2.2.1pop方法
pop方法删除最后一位,而且返回删除的内容。
#删除元素:pop、remove
yl=[1,2,2,3,4,5,6," ","~","王","cat" ]
#pop:删除最后一位,并返回删除的内容
print(yl.pop())
print(yl)
2.2.2remove方法
remove方法可以指定要删除的元素
#删除元素:pop、remove
yl=[1,2,2,3,4,5,6," ","~","王","cat" ]
# #remove:删除制定内容,返回none
print(yl.remove(" "))
print(yl)
2.3列表合并:extend
#两个列表合并
yl=["my",1,2]
z=["cat",1]
yl.extend(z)
print(yl)
2.4查看
2.4.1获取某个元素个数:count
#查看元素的个数
yl=[1,2,3,4,5]
print(yl.count(3))
2.4.2查看某个元素索引:index
#查看某个元素的索引
yl=[1,2,3,4,5]
print(yl.index(2))
2.4.3根据索引查看
根据索引查看的是列表中的元素,而find查找的是变量值中的某个内容,且根据索引查找找不到会报错,而根据find查找找不到会输出-1。如果数据量很大的情况下,获取最后一个元素,用的索引是-1。
#查看:根据索引查看
yl=[1,2,3,4,5]
print(yl[1])
2.5元素的顺序
元素排序,数字按照从小到大排序,如果是字母,是按照ascill码进行排序的,其内部会将字母转化为数字然后从小到大排序,且只列表中的数据类型相同的时候才可以进行排序,如果元素中含有多个字母,先比较第一个字母,如果第一个字母相同,在比较后面的,直到遇到不同的字母,在进行比较。字母a转化为数字是97,后续字母依次增加。倒序排序,倒序的关键字reverse=True。
2.5.1元素的排序(正序):sort
#元素排序正序,数字按照从小到大排序,如果是字母,是按照ascill码进行排序的,其内部会将字母转化为数字然后从小到大排序。
yl=[2,3,6,9,1,5,7]
yl.sort()
print(yl)
list1=["ab","ac","b","python","java","go"]
list1.sort()
print(list1)
2.5.2元素的排序(倒序):reverse=True
#倒序:将元素按照从大到小排序,如果是字母,内部将其转换为数字进行排序:列表名.sort(reverse=True)
yl=[2,3,6,9,1,5,7]
yl.sort(reverse=True)
print(yl)
list1=["ab","ac","b","python","java","go"]
list1.sort(reverse=True)
print(list1)
2.5.3元素的反转:reverse
#元素反转,元素反转的关键字是reverse
yl=[2,3,6,9,1,5,7]
yl.reverse()
print(yl)
2.6根据索引修改元素
#修改:根据索引修改
yl=[1,2,3,4,5]
yl[3]="qiy"
print(yl)
2.7元素清空:clear
#清空:元素的清空,关键词clear
yl=[1,2,3,4,5]
yl.clear()
print(yl)
2.8列表的复制:import copy
#列表的复制
a=[1,2,3,4]
import copy
b=copy.copy(a)
print(b)
2.9获取列表的长度:len
#获取列表长度
list2=[[1,2,3],["a","b","c",["go","python",["cat","dog"]]]]
print(len(list2))
2.10列表的切片
2.10.1输出某个索引范围内的元素
列表的切片的目的是获取我们想要的索引范围([a:b]),也就是索引a和b范围内的元素,包含开始但是不包含结尾。
#获取列表的切片,[a:b]也就是获取索引为a和b范围内的元素,包含a但不包含b。
list1=[1,2,3,4,5,6,7,8,9,0]
#只输出列表中的前两位
print(list1[0:2])
#输出2到9的元素,包含2和9
print(list1[1:9])
2.10.2输出列表最后一位元素
list1=[1,2,3,4,5,6,7,8,9,0]
#输出列表的最后一位元素,当数据很长时,我们用-1,当数据比较小时,我们也可以用他的索引。
print(list1[-1])
print(list1[9])
2.10.3输出列表中的最大值和最小值
#输出列表中的最大值和最小值
list2=[99,0,9,100,34,6,23,49,8]
list2.sort()#给list2进行排序
print(list2)
print(list2[0])#输出最小值
print(list2[8])#输出最大值
#输出列表中的最后一位的索引为-1.
print(list2[-1])#输出最大值
3、获取复杂列表结构中的元素信息
列表中的元素我们都是通过索引来获取的。
3.1简单结构
#列表中的元素的获取,我们都是通过索引来获取的
#简单列表结构中元素的获取,获取元素1
list1=[1,2,3,4]
print(list1[0])
3.2复杂结构
复杂的列表结构,我们可以根据数组的思想来理解,也就是说把一个复杂的内容看做一个整体,也就是看做列表中的一个元素。
3.2.1列表中嵌套列表
#复杂列表结构中元素的获取
list2=[[1,2,3],["a","b","c"]]
#根据数组的思想来理解,我们可以把,每一个数组也看做列表中的一个元素,获取元素"c"
print(list2[1][2])
3.2.2在嵌套的列表中再嵌套列表
list2=[[1,2,3],["a","b","c",["go","python",["cat","dog"]]]]
#如上所述,我们根据数组的思想来理解,我们可以把每一个数组也看做列表中的一个元素,获取元素"dog"
print(list2[1][3][2][1])