1、定义:一种可以存储多个元素的 Python 数据类型
2、Python 中有哪些数据类型:
list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)
基本语法:
#字面量
[元素1,元素2,元素3,元素4,...]
#定义变量
变量名称 = [元素1,元素2,元素3,元素4,...]
#定义空列表
变量名称 = []
变量名称 = list ()
列表内的每一个数据,称之为元素
· 以 [ ] 作为标识
· 列表内每一个元素之间用逗号隔开
注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套
num_list = [[1,2,3],[4,5,6]]
print(num_list)
列表中的每一个元素,都有其位置下标索引,从前往后的 方向,从0开始,依次递增。
我们只需要按照下标索引,即可取得对应位置的元素。
#语法:列表(下标索引)
name_list = ['Tom','Lily','Rose']
print(name_list[0]) #结果:Tom
print(name_list[1]) #结果:Lily
print(name_list[2]) #结果:Rose
或者,可以反向索引,也就是从后往前:从-1开始,一次递减(-1,-2,-3......)
#语法:列表[标号]
name_list = ['Tom','Lily','Rose']
print(name_list[-1]) #结果:Rose
print(name_list[-2]) #结果:Lily
print(name_list[-3]) #结果:Tom
#语法:列表[标号][标号]
num = [[1,2,3],[4,5,6]]
print(num[0][2]) #结果:3
注:要注意下标索引的取值范围,超出范围无法取出元素,并且会报错
列表的查询功能(方法)
函数是一个封装代码的单元,可以提供特定功能。
在 Python 中,如果将函数定义为 class (类)的成员,那么函数会称之为:方法。
class Student:
def add(self,x,y):
return x + y
方法和函数的功能一样,有传入参数,有返回值,只是方法的使用格式不同:
函数的使用: num = add (1, 2 )
方法的使用:student = Student ( )
num = student.add ( 1, 2 )
功能:查找指定元素在列表的下标,如果找不到报错 ValueError
语法:列表.index(元素)
index就是列表对象(变量)内置的方法(函数)
mylist = ["Python","Java","C"]
#查找某元素在列表内的下标索引
num = mylist.index("Java")
print(num)
· 修改特定位置(索引)的元素值
语法:列表 [下标] = 值
可以使用如上语法,直接对指定下标(正向、反向下标均可)的值进行:重新赋值(修改)
mylist = ["Python","Java","C"]
#修改特定下标索引的值
mylist[2] = "C++"
print(mylist)
· 插入元素:
语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素
mylist = ["Python","Java","C"]
#插入元素
mylist.insert(1,"C++")
print(mylist )
· 追加元素方法1
语法:列表.append(元素),将指定元素,追加到列表的尾部
mylist = ["Python","Java","C"]
#追加元素
mylist .append("C++")
print(mylist )
· 追加元素方法2
语法:列表.extend(其他数据容器),将其他数据容器的内容取出,一次追加到列表尾部
#追加方法2
num1_list = [1,2,3]
num2_list = [4,5,6]
num1_list.extend(num2_list )
print(num1_list )
· 删除元素
语法1(指定下表删除):del 列表 [下标]
语法2(指定下表删除):列表.pop (下标)——可以得到返回值
#删除元素
del_list1 = [1,2,3,4,5]
del_list2 = [6,7,8,9,10]
del del_list1[0]
del_list2.pop(4)
print(del_list1)
print(del_list2 )
语法3(指定具体元素删除):列表.remove(元素)
删除的是某元素在列表中第一个匹配项
#指定元素删除
del_list1 = [1,2,3,4,5]
del_list1.remove(3)
print(del_list1 )
· 清空列表内容
语法:列表.clear( )
#清空列表元素
clear_list1 = [1,2,3,4,5]
clear_list1.clear()
print(clear_list1 )
` 统计某元素在列表内的数量
语法:列表.count(元素)
count_list = [1,2,1,3,1,5]
num = count_list.count(1)
print(num)
· 统计列表中所有元素的个数
语法;len(列表)
count_list = [1,2,1,3,1,5]
sum = len(count_list )
print(sum)
既然数据容器可以存储多个元素,那么,就会有需求从容器内依次取出元素进行操作
将容器内的元素依次取出进行处理的行为,称之为:遍历,迭代
方法:
· 循环控制变量通过下标索引来控制,默认0
· 每一次循环将下标索引变量 + 1
· 循环条件:下标索引变量 < 列表的元素变量
# 列表的遍历——while循环
def list_while_func()
while_list = ["python","java","C"]
# 定义一个下标来标记列表的下标
count = 0 #初始值为 0
while count <= len(while_list ) :
# 通过count变量取出对应下标的元素
element = while_list [count]
print(element )
count += 1
相比 while 循环,for循环更加适合对列表等数据容器进行遍历
语法:
for 临时变量 in 数据容器:
对临时变量进行处理
表示,从容器内,一次取出元素并赋值到临时变量上。
每一次的循环中,我们可以对临时变量(元素)进行处理 。
#;列表的遍历——for循环
def for_list_func() :
for_list = [1,2,3,4,5]
for element in for_list :
print(element)
for_list_func()
a.在循环控制上:
· while循环可以自定循环条件,并自行控制
·for 循环不可以自定循环条件,只可以一个个从容器内取出数据
b.在无限循环上:
· while 循环可以通过条件控制做到无限循环
· for 循环理论上不可以,因为被遍历的容器容量不是无限的
c.在使用场景上:
· while 循环适用于任何想要循环的场景
· for 循环适用于,遍历数据容量的场景或简单的固定次数循环场景