python列表
列表(List)是一组有序存储的数据
特性:
- 和变量一样,每个列表都有一个唯一表示它的名称
- 一个列表的元素应具有相同的数据类型
- 每个列表元素都有索引和值的两个属性,索引是一个从0开始的整数,用于标识元素在列表中的位置,值当然就是元素对应的值
定义列表
menulist = ['红烧肉', '猪肝', '西红柿炒鸡蛋', '油焖大虾']
双引号、单引号都可以,但是规范用单引号
打印列表
menulist = ['红烧肉', '猪肝', '西红柿炒鸡蛋', '油焖大虾']
print(menulist)
打印结果:
['红烧肉', '猪肝', '西红柿炒鸡蛋', '油焖大虾']
获取列表长度
列表长度指列表中元素的数量
可以通过len()函数来获取列表的长度
menulist = ['红烧肉', '猪肝', '西红柿炒鸡蛋', '油焖大虾']
num = len(menulist)
print(num)
打印结果:
4
访问列表元素
列表由列表元素组成
对列表的管理就是对列表元素的的访问和操作。
方法:
列表名[index]
index是元素索引,第一个元素索引是0,最后一个元素索引是“列表长度-1”
还有一种方法:最后一个元素的索引是-1,第一个元素的索引是“-len(列表名)”
menulist = ['红烧肉', '猪肝', '西红柿炒鸡蛋', '油焖大虾']
print(menulist[0])
print(menulist[len(menulist)-1])
print(menulist[-len(menulist)])
print(menulist[-1])
打印结果:
红烧肉
油焖大虾
油焖大虾
红烧肉
添加列表元素
- append()
列表名.append(新元素)
向列表末尾添加元素
示例:
menulist = ['红烧肉', '猪肝', '西红柿炒鸡蛋', '油焖大虾']
menulist.append('北京烤鸭')
print(menulist)
打印结果:
['红烧肉', '猪肝', '西红柿炒鸡蛋', '油焖大虾', '北京烤鸭']
- insert
列表名.insert(插入位置,新元素)
向列表中的指定位置插入新元素
示例:
menulist = ['红烧肉', '猪肝', '西红柿炒鸡蛋', '油焖大虾']
menulist.insert(1, '北京烤鸭')
print(menulist)
打印结果:
['红烧肉', '北京烤鸭', '猪肝', '西红柿炒鸡蛋', '油焖大虾']
注意:当输入插入位置大于等于列表长度的时候,相当于向末尾插入新元素,即和append()效果一样
- extend()
列表名1.extend(列表名2)
将列表2中的元素一次添加到列表1中
示例:
list1 = ['one', 'two']
list2 = ['three', 'four']
list1.extend(list2)
print(list1)
print(list2)
打印结果:
['one', 'two', 'three', 'four']
['three', 'four']
注意:只改变原来列表
- 合并列表
使用加号‘+’就可以合并
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = list1 + list2
list4 = list2 + list1
print("list1 = ", list1)
print("list2 = ", list2)
print("list3 = ", list3)
print("list4 = ", list4)
打印结果:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [1, 2, 3, 4, 5, 6]
list4 = [4, 5, 6, 1, 2, 3]
删除列表元素
del list[index]
menulist = ["红烧肉", "炒鸡蛋", "北京烤鸭"]
del menulist[0]
print(menulist)
打印结果:
['炒鸡蛋', '北京烤鸭']
定位列表元素
list.index(name)
menulist = ["红烧肉", "炒鸡蛋", "北京烤鸭"]
index = menulist.index("红烧肉")
print(index)
打印结果:
0
遍历列表元素
可以使用for和range()函数进行遍历
list = ["a", "b", "c", "d"]
for i in range(len(list)):
print(list[i])
打印结果:
a
b
c
d
可以使用for和enumerate()函数遍历
for index, value in enumerate(list):
list = ["a", "b", "c", "d"]
for index, value in enumerate(list):
print("list(", index, ")", "=", value)
打印结果:
list( 0 ) = a
list( 1 ) = b
list( 2 ) = c
list( 3 ) = d
列表排序
sort()函数对列表升序排序
reverse()函数对列表降序排序
list = ["a", "c", "f", "b", "d", "e"]
list.sort()
print("升序:", list)
list.reverse()
print("降序:", list)
打印结果:
升序: ['a', 'b', 'c', 'd', 'e', 'f']
降序: ['f', 'e', 'd', 'c', 'b', 'a']
产生一个数值递增列表
使用range()函数可以产生一个数值递增列表
基本语法结构:
range(start, end)
start:一个整数,指定产生的列表的其实元素值。start为可选参数,默认值为0
end:一个整数,指定产生的列表的结束元素值
list1 = range(10)
list2 = range(11, 20)
#打印 list1
for index, value in enumerate(list1):
print("list1的第%d个元素值是【%s】" %(index, value))
#打印 list2
for index, value in enumerate(list2):
print("list2的第%d个元素值是【%s】" % (index, value))
list1的第0个元素值是【0】
list1的第1个元素值是【1】
list1的第2个元素值是【2】
list1的第3个元素值是【3】
list1的第4个元素值是【4】
list1的第5个元素值是【5】
list1的第6个元素值是【6】
list1的第7个元素值是【7】
list1的第8个元素值是【8】
list1的第9个元素值是【9】
list2的第0个元素值是【11】
list2的第1个元素值是【12】
list2的第2个元素值是【13】
list2的第3个元素值是【14】
list2的第4个元素值是【15】
list2的第5个元素值是【16】
list2的第6个元素值是【17】
list2的第7个元素值是【18】
list2的第8个元素值是【19】
定义多维链表
list[index1][index2]
list = [["a", "aa"], ["b", "bb"]]
#打印二维列表
print("打印二维列表")
for i in range(len(list)):
print(list[i])
#打印二维列表的每一个元素
print("打印二维列表的每一个元素")
for i in range(len(list)):
for j in range(len(list[i])):
print(list[i][j])
打印结果:
打印二维列表
['a', 'aa']
['b', 'bb']
打印二维列表的每一个元素
a
aa
b
bb