列表 list [ ]
1、用 [ ] 定义,成员之间用 , 分隔, 成员可以是任意类型 ;
2、成员 可以重复 ;
3、获取某一个成员的下标: 列表名 . index(‘red‘) ,无find() 方法 ,字符串有 find() 方法;
4、有序,通过下标索引 [1] ,从 0 开始 ,越界取值报错;
5、切片, 列表名[开始索引(默认为0) :结束索引 :步长(默认为 1)]
列表常用方法和函数:
列表.count(成员) :统计成员在列表中的次数 ;
列表.sort() / 列表.sort(reverse=True) : 升 / 降排序 ;
列表.reverse() : 反转、逆序 ;
列表[索引] : 取值,下表过界会报错 ;
列表.index(成员):获得成员第一次出现的位置 ;
列表.insert(索引,成员):在指定位置插入成员 ;
列表.append(成员):在末尾追加成员 ;
列表.extend(列表2):将列表2的数据追加到列表1;
len(列表) : 获取列表的长度 ;
del 列表[索引]:删除指定索引的数据 ;
列表.remove(成员):删除第一个出现成员的指定数据 ;
列表.pop:删除末尾成员;
列表.pop(索引):删除指定索引的数据;
定义一个空列表,并用 append 追加值;
# -*- coding:utf-8 -*- # @Author: Sky # @Email: 2780619724@qq.com # @Time: 2021/7/23 17:02 list = [] # 定义了一个空列表 list.append(‘bb‘) print(list) list[1] = ‘aa‘ # 因为没有索引为 1的列表元素;给 [1] 赋值会报错,但是可以用 append 追加一个元素 print(list)
执行结果如下:
D:\SkyWorkSpace\WorkSpace\Pytest\Temp\day06\venv\Scripts\python.exe D:/SkyWorkSpace/WorkSpace/Pytest/Temp/day06/test_demo/test_07.py Traceback (most recent call last): File "D:/SkyWorkSpace/WorkSpace/Pytest/Temp/day06/test_demo/test_07.py", line 12, in <module> list[1] = ‘aa‘ # 因为没有索引为 1的列表元素;给 [1] 赋值会报错,但是可以用 append 追加一个元素 IndexError: list assignment index out of range [‘bb‘] Process finished with exit code 1
补充知识:
1、函数和方法的作用域
# 从这一段代码可以体会到函数和方法有啥区别 ? # (1)函数作用域:从函数调用开始至函数执行完成,返回给调用者后,在执行过程中开辟的空间会自动释放, # 也就是说函数执行完成后,函数体内部通过赋值等方式修改变量的值不会保留,会随着返回给调用者后,开辟的空间会自动释放。 # (2)方法作用域:通过实例化的对象进行方法的调用,调用后开辟的空间不会释放,也就是说调用方法中对变量的修改值会一直保留。 colour_list = [‘red‘, ‘yellow‘, ‘blue‘, ‘green‘] colour_list.sort() # 方法 print(colour_list) num_list = [3, 4, 2, 1, 5] sorted(num_list) # 函数的作用域,只在本行,执行后会释放,所以下面 print(num_list) 还是 [3, 4, 2, 1, 5] print(num_list)
执行结果如下:
D:\SkyWorkSpace\WorkSpace\Pytest\Temp\day06\venv\Scripts\python.exe D:/SkyWorkSpace/WorkSpace/Pytest/Temp/day06/test_demo/test_07.py [‘blue‘, ‘green‘, ‘red‘, ‘yellow‘] [3, 4, 2, 1, 5] Process finished with exit code 0