注意:下面的代码中的【#结果:下面是代码运行的结果…】
一、list列表
#####1.概述:
在python中,我们知道变量可以存储数据,但是一个变量只能存储一个数据,现在有一个班级,班级有20个人,现在求班级的平均年龄。
若按照一个数值放一个变量的方式来解决这个问题
age1 = 10
age2 = 12
...
age20 = 12
average = (age1 + age2 +...+age20)/20
在这里,很显然这种方法显得很麻烦,代码也相对来也现的很臃肿,为了解决这个问题,我们的python提供了一种解决方案,就是使用列表(也不单只这一种方法啦…)
本质:list列表的本质是一种有序的集合
2.创建列表
语法: 列表名 = [元素1,元素2,元素3…说明:列表中的选项被称为元素,跟string类似,下标也是从0开始计数(程序员数羊总少一只…)
使用:创建列表
#创建空列表
list1 = []
#创建带有元素的列表
list2 = [10, 20, 30, 10]
print(list2)
#结果:
[10, 20, 30, 10]
在列表中元素的数据类型可以不同(灵活性)
list3 = [33, "good", True, 10.32]
print(list3)
#结果:
[33, "good", True, 10.32]
#####3.列表元素的访问
3.1 列表的取值
功能:访问list列表中元素值
语法:列表名[索引]
list4 = [22, 33, 12, 32, 45]
#下标从0开始,最大值为len(list4)-1
print(list4[0])
#结果:
22
注意:当索引值大于len(list4)-1的时候,会出现以下错误:
print(list4[5])
IndexError: list index out of range
这个错误就是下标越界【下标超出了可表示的范围】
就是说呀,你列表就只存了list4 =[22, 33, 12, 32, 45]5个数,你却要让它给你第list4[5]个数,这个已经是第六个数了…
list4列表中没有存有,记得,list列表的下标是从0开始数的,程序员数羊,总少一只…
3.2 列表元素的替换
功能:更改列表元素的值
语法:列表名[下标] = 值
list4 = [22, 33, 12, 32, 45]
list4[0] = "hello"
#这个时候list4已经变成了
#list4 = ["hello", 33, 12, 32, 45]
print(list4[0])
#结果:
hello
#####4.列表操作
4.1 列表组合
语法: 列表3 = 列表1 + 列表2
list1 = [1, 2, 3]
list2 = ['hello', 'yes', 'no']
list3 = list1 + list2
print(list3)
#结果
[1, 2, 3, 'hello', 'yes', 'no']
就是说把几个列表合成了一个新的列表,list1列表中的元素反正前面,通俗易懂点就是哪个列表是在前面的,则在新列表中其元素就反正前面…多试试就懂了…
4.2 列表重复
语法: 列表2 = 列表1 * n
list1 = [1, 2, 3]
list2 = list1 * 5
print(list2)
#结果:
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
这个就是把列表重复输出多少次的问题
注意:原列表list1是没有变的,而是重新生成了一个名为list2的列表,不理解在这个小程序中把list1打印出来看一下…
4.3 判断元素是否在列表中
语法:元素 in 列表
若存在则返回True,否则返回False
list1 = [1, 2, 3]
print(1 in list1)
print(5 in list1)
#结果:
True
False
4.4 列表截取
语法:列表[start: end] 表示获取从开始下标到结束下标的所有元素[start, end)
若不指定start,则默认从0开始截取,截取到指定位置
若不指定end,则从指定位置开始截取,截取到末尾结束
list1 = [1, 2, 3, 'hello', 'yes', 'no']
print(list1[2:4])
#结果
[3, 'hello']
4.5 二维列表
语法:列表 =[列表1,列表2,列表3,… ,列表n]
#创建二维列表,即列表中的元素还是列表
list1 = [[1, 2, 3],[2, 3, 4],[5, 4, 9]]
4.5 二维列表取值
语法:列表名【下标1][下标2]
注意:下标1代表第n个列表(下标从0开始),下标2代表第n个列表中的第n个元素
list1 = [[1, 2, 3],[2, 3, 4],[5, 4, 9]]
print(list1[0][0])
#结果
1
#####5.列表的方法
5.1 list.append(元素/列表)
功能:在列表中末尾添加新的元素【在原本的列表中追加元素】
注意:append()中的值可以是列表也可以是普通元素
list1 = [3, 4, 6]
list1.append(6)
print(list1)
#结果
[3, 4, 6, 6]
5.2 list.extend(列表)
功能:在列表的末尾一次性追加另外一个列表中的多个值
注意:extend()中的值只能是列表/元组[一个可迭代对象],不能是元素
list1 = [1,2,3]
list2 = [3, 4,5]
list1.extend(list2)
print(list1)
#结果
[1, 2, 3, 3, 4, 5]
5.3 list.insert(下标值, 元素/列表)
功能:在下标处插入元素,不覆盖原本的数据,原数据向后顺延
注意:插入的数据可以是元素也可以为列表
>>> list1 = [1,2,3]
>>> list1.insert(1,0)
>>> print(list1)
[1, 0, 2, 3]
>>> list1.insert(1,[2, 4, 8])
>>> print(list1)
[1, [2, 4, 8], 0, 2, 3]
5.4 list.pop(下标值)
功能:移除列表中指定下标处的元素(默认移除最后一个元素),并返回移除的数据
>>> list1 = [1, [2, 4, 8], 0, 2, 3]
>>> list1.pop()
3
>>> print(list1)
[1, [2, 4, 8], 0, 2]
>>> list1.pop(2)
0
>>> print(list1)
[1, [2, 4, 8], 2]
5.5 list.remove(元素)
功能:移除列表中的某个元素第一个匹配结果
>>> list1 = [1, 2, 3]
>>> list1.remove(2)
>>> print(list1)
[1, 3]
5.6 list.clear()
功能:清除列表中所有的数据
>>> list1 = [1, 2, 3]
>>> list1.clear()
>>> print(list1)
[]
5.7 list.index(object[, start】[, stop])
功能:从指定的范围的列表中找出某个值第一匹配的索引值
若不指定范围,则默认是整个列表。
>>> list1 = [1, 2, 3]
>>> list1.index(2)
1
>>> list1.index(4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 4 is not in list
注意:若在列表中找不到这个元素,则会报错。
5.8 list.count(元素)
功能:查看元素在列表中出现的次数
>>> list1 = [1, 2, 3, 1]
>>> list1.count(1)
2
5.9 len(list)
功能: 获取元素列表个数
>>> list1 = [1, 2, 3, 1]
>>> len(list1)
4
5.10 max(list)
语法:获取列表中的最大值
>>> list1 = [1, 2, 3, 1]
>>> max(list1)
3
5.11 min(list)
语法:获取列表中的最小值
>>> list1 = [1, 2, 3, 1]
>>> min(list1)
1
5.12 list.reverse()
语法: 列表倒叙
>>> list1 = [1, 2, 3, 1]
>>> list1.reverse()
>>> print(list1)
[1, 3, 2, 1]
5.13 list.sort()
语法:列表排序 默认升序
>>> list1 = [1, 2, 3, 1]
>>> list1.sort()
>>> print(list1)
[1, 1, 2, 3]
好啦,本次对于列表的简单介绍就到这里了…
由于经验不足,可能说得不是很好理解,但应该可以让你对python列表有一些简单的了解了…
谢谢
以上