零、导读
4.1 列表
4.1.1 列表的表达
序列类型:内部元素有位置关系,能通过位置序号访问其中元素
列表是一个可以使用多种类型元素,支持元素增、删、改、查操作的序列类型
另一种产生方式: list(可迭代对象)
可迭代对象包括:字符串、元组、集合. range()等
1.字符串转列表
list("人工智能是未来的趋势")
2. 元组转列表
list(("我","们","很","像"))
3. 集合转列表
list({"李雷","韩梅梅","hello","world"})
4. 特殊的range()
for i in [0,1,2,3,4,5]: print(i) for i in range(6): print(i)
range(起始数字、中止数字、数字间隔)
for i in range(1,11,2): print(i)
中止的数字是取不到的
range()转列表
4.1.2 列表的性质
列表的长度——len(列表)
len([1,2,3,4])
列表的索引——与同为序列类型的字符串完全相同
变量名[位置编号]
正向索引从0开始
反向索引从-1开始
cars = ["BYD","BMW","AUDI","TOYOTA"] print(cars[0]) print(cars[-1])
列表的切片
变量名[开始位置:结束位置:切片间隔]
正向切片
cars = ["BYD","BMW","AUDI","TOYOTA"] print(cars[:3]) print(cars[1:4:2]) print(cars[:]) print(cars[-4:-2])
反向切片
cars = ["BYD","BMW","AUDI","TOYOTA"] print(cars[:-4:-1]) print(cars[::-1])
4.1.3 列表的操作符
4.1.4 列表的操作方式(详细)
1.、增加元素
在末尾增加元素——列表 append(待增元素)
在任意位置插入元素——列表insert(位置编号,待增元素)
在位置编号相应元素前插入待增元素
在末尾整体并入另一个列表——列表1.extend(列表2)
2、删除元素
cars = ["BYD","BMW","AUDI","TOYOTA"] cars.append("CCTV") cars.insert(1, "BBC") cars.pop(2) cars
删除列表里某个所有元素
3、查找元素
列表中第一次出现待查元素的位置——列表.index(待查元素)
不存在会报错
cars = ["BYD","BMW","AUDI","TOYOTA"] cars.append("CCTV") cars.insert(1, "BBC") cars.pop(2) ind = cars.index("CCTV") print(ind) cars
4、修改元素
通过“先索引后赋值”的方式,对元素进行修改——列表名[位置] = 新值
5、列表的赋值
错误的方式
情况:删除旧列表某个元素后,新列表也会随之更新
正确方式——浅拷贝
1.方法1:列表.copy()
2.方法2:列表[:]
6、列表的排序
使用列表.sort()对裂变进行永久排序
直接在列表上进行操作,无返回值
使用sorted(列表)对列表进行临时排序
原列表保持不变,返回排序后的列表
7、列表的反转
使用列表. reverse()对列表进行永久翻转
直接在列表上进行操作,无返回值
8、使用for循环对列表进制遍历