列表list
定义:由一系列变量组成的可变序列容器(这里我把它们统称为可以存储数据的容器)
特征:
1.列表是可变的,意味着列表可以进行修改和删除;
2.列表是有序的,每个元素都可以用索引定位,可以用索引去访问每个元素;
3.列表中存储的对象是变量,即为可以存储python中任何数据类型;
基本操作:
1.创建列表
第一种:list01 = [2,None,"hello world",True,[2,3],(2,3)]
第二种:list02 = list(以上四种容器数据)
详细说明:第二种创建列表方法,里面参数可以是所有容器,如果是字典,返回是字典键的列表,如果要想返回完整的列表键值对列表则需要外嵌套除开字典的容器,具体外嵌套什么容器,根据需求而定。这里你会发现返回结果都将是列表数据类型,这样一来list()就可以成为一种数据类型转换成列表数据类型的方法,衍生一下,其他的数据结构名都能作为相应转换数据类型的方法。
2.添加元素
第一种追加:append(元素)
list01 = [1,2,3]
result_list = list01.append(4)
print(result-list)
返回结果:[1,2,3,4]
详细说明:append()方法只可以添加一个元素
第二种插入:insert(索引值,元素)
list01 = [1,2,3]
list01.insert(2,4)
print(list01)
返回结果:[1,2,3,4]
详细说明:insert()里面的第一个参数是索引值,特别强调的是可以超出原有列表的索引值范围,并指定为在末尾追加元素
第三种末尾追加另外三种容器以及字符/字符串:extend(list/dict/set/str)
list01 = [6,7,8]
list01.extend([9,10,11])
返回结果:[6,7,8,9,10,11]
详细说明:参数是另外三种容器的数据以及字符/字符串,如果添加是字典,那么追加在后面的元素是字典的键,如果想把字典的键值对都添加进去,可以在字典外根据需求嵌套其他三种容器,不能添加数字数据类型(int、float、complex)。
3.删除元素
第一种根据切片删除:del 列表名[切片]
list01 = [1,2,3]
del list01[1:]
print(list01)
result :[1]
第二种根据索引删除元素:del 列表名[索引值]
list01 = [1,2,3]
del list01[1]
print(list01)
result: [1,3]
第三种根据元素删除元素:remove(元素)
list01 = [1,2,3]
list01.remove(2)
print(list01)
result:[1,3]
第四种根据索引值删除元素:pop(索引值)
list01 = [1,2,3]
list01.pop(1)
print(list01)
result:[1,3]
详细说明:pop()不给参数时,被调用时默认删除列表最后一个元素
4.修改元素
第一种根据切片添加:list[1:2] = 元素/其他三种容器数据
list01 = [1,2,3]
list01[1:2] = [1,2,3]
print(list01)
返回结果:[1,1,2,3,3]
详细说明:这里切片的范围,就是你想修改元素的索引范围或者是定位某个元素
第二种根据索引值修改:列表名[索引值] = 元素
list01 = [1,2,3]
list01[2] = 4
print(list01)
result:[1,2,4]
5.遍历元素
list01 = [1,2,3,4]
for item in list01:
print(item,end=" ")
result:1 2 3 4
6.提取元素
利用切片提取元素
list01 = [1,2,3]
result_list = list01[1:]
print(result_list)
result:[2,3]
7.排序列表
第一种升序:列表名.sort()
list01 = [1,6,3]
list01.sort()
print(list01)
result:[1,3,6]
第二种列表反转:列表名.reverse()
list01 = [1,5,4]
list01.reverse()
print(list01)
result:[4,5,1]
第三种列表元素倒序:列表名.sort(reverse = True)
list01 = [3,1,2,5]
list01.sort(reverse = True)
print(list01)
result:[5,3,2,1]