创建列表:变量名 = [元素1,元素2,…,元素n]
list类型中区分元素的顺序,且允许包含重复的元素。
列表每一个元素都对应一个整数型的索引值,可以通过索引值来得到相应的元素值。同时支持列表元素的正向索引和反向索引。正向索引即索引值为正,从0开始;反向索引即索引值为负,从-1开始。若是反向索引,则-1为末尾元素对应的索引编号。
切片操作可以截取列表变量中的部分元素,并返回一个子列表变量。切片操作中,生成子列表的元素包含起始索引对应的元素,但是不包含终止索引对应的元素。
1.加法操作使用加号(+)完成,表示把加号两端的列表变量连接形成一个新列表;
2.乘法操作使用星号(*)完成,表示对当前列表对象进行复制并连接,并形成一个新列表。
1.通过索引值对相应元素进行修改或删除。
2.删除整个列表或列表中的部分元素,使用del命令。删除整个列表后,不可再次引用。
追加插入和扩展
1.append:在当前列表对象尾部追加元素;
2.insert:在当前列表的指定索引位置插入元素;
3.extend:对当前列表元素进行批量增加。
创建三个列表类型的变量a、n和x。其中,变量a和n中元素都是基本类型,变量x中的元素都是列表类型。
- >>> a = ['a',1]
- >>> n = ['b',2]
- >>> x = [a,n]
- >>> x
- [['a',1],['b',2]]
- >>> x[0] # 显示第一个元素
- ['a', 1]
- >>> x[0][1] # 显示第一个元素中的第二个元素
- 1
1.直接输入列表的数据,系统会根据输入生成相应的列表维度。
- >>>l = [[1,2,3],[4,5,6]]
- >>>print(l)
- 输出结果:
- [
- [1,2,3],
- [4,5,6]
- ]
2.使用列表解析方式生成了二维矩阵
- cols = 7
- rows = 9
- list_2d = [[col + 1 for col in range(cols)] for row in range(rows)]
- print(list_2d)
首先创建了一个列表类型变量lst,然后创建了该列表的迭代器对象lstiter,并且通过该迭代器对象的__next__()方法遍历列表中的元素。__next__()方法,返回下一个值。iter方法访问列表。
- >>>list=[1,2,3,4,5,6,7,8,9,10] #方法1:直接指定
- >>>list=[]#方法2:先创建一个空列表,然后通过for循环实现
- for n in range(1,11):
- list.append(n);
- >>>list(range(1,11)) #方法3:列表解析
- [1,2,3,4,5,6,7,8,9,10]
for循环在这里可以很好的生成list。
第一步:针对数值运算,使用列表解析生成了1到10的平方值;第二步:针对字符运算,使用列表解析生成了指定范围的字母组合列表。
- >>> [x * x for x in range(1, 11)]
- [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
-
- # 或者字母所进行的两层循环
- >>> [m + n for m in 'ABC' for n in 'XYZ']
- ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
列表函数 | |
函数 | 含义 |
len(list) | 列表元素个数 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(seq) | 将元组转换为列表 |
列表方法 | |
方法 | 描述 |
list.append(obj) | 在列表末尾添加新的对象 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.extend(seq) | 在列表末尾一次性追加另一个序列中多个值(用新列表扩展原来的列表) |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list.pop(obj=list[-1]) | 将对象插入列表 |
list.insert(index,obj) | 移除列表中的第一个元素(默认最后一个元素),并且返回该元素的值 |
list.remove(obj) | 移除列表中某个值的第一个匹配项 |
list.reserve() | 反向列表中的元素 |
list.sort([func]) | 对原列表进行排序 |
list.clear() | 清空列表 |
list.copy() | 复制列表 |