python数据结构之列表详解(上)

一、何为列表?

1.概念

列表最明显的标识符就是英文方括号 “[ ]”,方括号中以英文逗号间隔元素。列表中的元素不一定是相同数据类型.

列表中的元素可以是列表也可以是字典结构。

l1 = [1, 2, 3, 4]
l2 = ['11', '10', '2022']
l3 = [{'name': '冰淇淋', 'price': '15r'}, {'name': '棒棒糖', 'price': '1r'}]
l4 = [[0, 1, 2, 3], [4, 5, 6, 7],'lala']

2.列表的索引

列表的索引下标从0开始,不同于我们日常的数数,我们喜欢从1开始数数,而列表是从0开始数数,这一点需要牢记.

(1)列表中可以使用函数“列表.index(元素)”可以返回列表中元素的索引值,但是index()方法只返回正向索引值

l2 = ['11', '10', '2022']
print("2022的索引为",l2.index('2022'))
#2022的索引为 2

(2)列表支持正向索引也支持反向索引。

二、列表的基本操作

1.查找

列表的查找方法很简单,直接是“列表名[索引号]”即可访问列表中的元素。

l1 = [1, 2, 3, 4]
print(l1[0]) #输出1
print(l1[2]) #输出3
print(l1[-1]) #输出4

2.修改元素

列表的修改元素方法同样很简单,直接是“列表名[索引号]=新值”即可访问列表中的元素

l1 = [1, 2, 3, 4]
l1[3] = 0
print(l1) #[1, 2, 3, 0]

3.增加元素

列表中增加元素的方法主要依靠函数。

(1)列表名.append(元素):在列表末尾添加一个元素.

l1 = [1, 2, 3, 4,'lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal']
l1.append('haha')
print(l1)
# 输出[1, 2, 3, 4, 'lal', 'haha']

(2)列表名.insert(索引号,元素):在列表中特定索引号处增加一个新的元素.

l1 = [1, 2, 3, 4,'lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal']
l1.insert(1,'xixi')
print(l1)
# 输出[1, 'xixi', 2, 3, 4, 'lal']

4.删除元素

列表中的元素删除主要依靠以下函数和del关键字

(1)列表名.pop(索引号) :在列表中删除指定索引号的元素

l1 = [1, 2, 3, 4,'lal','haha','lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal', 'haha', 'lal']

l1.pop(3)
print(l1)
# 输出[1, 2, 3, 'lal', 'haha', 'lal']

l1.pop(-1)
print(l1)
# 输出[1, 2, 3, 'lal', 'haha']

(2)列表名.remove(元素):在列表中删除第一次出现的元素

l1 = [1, 2, 3, 4,'lal','haha','lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal', 'haha', 'lal']
l1.remove('lal')
print(l1)
# 输出[1, 2, 3, 4, 'haha', 'lal']

(3)del 列表名[索引号]:删除列表中的指定索引号上的元素

l1 = [1, 2, 3, 4,'lal','haha','lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal', 'haha', 'lal']

del l1[0]
print(l1)
# 输出[[2, 3, 4, 'lal', 'haha', 'lal']

del l1[-1]
print(l1)
# 输出[2, 3, 4, 'lal', 'haha']

三、列表的其他方法

 1.列表.count(元素):统计列表中某元素出现的次数

l1 = [1, 2, 'haha', 3, 4,'lal', 'haha','lal', 'haha']
print(l1.count('haha'))
# 输出3

 2.列表.sort():将列表中的元素排序

字符串列表的排序按照每个元素首字母的顺序来排序。

数值列表的排序是按照数值大小从小到大进行排序。 

str_list = ["lin", "jia", "xue"]
str_list.sort()
print(str_list)
# 输出:['jia', 'lin', 'xue']

num_list = [4, 2, 1, 9]
num_list.sort()
print(num_list)
# 输出:[1, 2, 4, 9]

 3. 列表名.reverse():将列表顺序反转

str_list = ["lin", "jia", "xue"]
str_list.reverse()
print(str_list)
# 输出:['xue', 'jia', 'lin']

4.列表名.copy():复制一个新的列表

# 如果不是使用copy()函数则不能得到一个新的相同列表
students1 = ["xixi", "dodo", "biabia"]
students2 = students1
#这里将student1的列表增加了一个新的名字student2,但是两者仍然是同一个表
students1[0] = 'koko'
print(students2)
# 输出:['koko', 'dodo', 'biabia']

# 使用copy()函数实现对一个列表的复制
students1 = ["xixi", "dodo", "biabia"]
students2 = students1.copy()
students1[0] = 'koko'
print(students1)
# 输出:['koko', 'dodo', 'biabia']
print(students2)
# 输出:['xixi', 'dodo', 'biabia']

5.列表名.clear():对列表制空

students1 = ["xixi", "dodo", "biabia"]
students1= []
print(students1)
# 输出[]

上述方式并不能实现对列表制空,上述方法是将空列表赋值给变量名students1,原来的表仍然存在,只是失去了他们的名字。

students1 = ["xixi", "dodo", "biabia"]
students1.clear()
print(students1)
# 输出[]

猜你喜欢

转载自blog.csdn.net/weixin_56559434/article/details/127217283