Python3列表
列表的访问、截取、删除(del list[])不再赘述。
嵌套列表
>>> str1 = [1,2,3] >>> str2 = [5,6,7] >>> str3 = [str1,str2] >>> str3 [[1, 2, 3], [5, 6, 7]] >>> str3[1] [5, 6, 7] >>> str3[1][1] 6
Python列表函数与方法
函数
Python包含以下函数:
| 序号 | 函数 |
|---|---|
| 1 | len(list) 列表元素个数 |
| 2 | max(list) 返回列表元素最大值 |
| 3 | min(list) 返回列表元素最小值 |
| 4 | list(seq) 将元组转换为列表 |
方法
Python列表常见的有10中操作方法,分别是添加、删除、查找、统计、反转、清空、替换、排序、切片、复制
添加(append()、insert()、extend())
append():向列表尾部添加一个新的元素(最常用)
insert(): 在指定位置插入一个元素
extend(): 一次性添加多个元素,在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
>>> str1 = [1,2,3,'a','b'] >>> str1.append(5) >>> str1 [1, 2, 3, 'a', 'b', 5] >>> str1.insert(1,1.5) >>> str1 [1, 1.5, 2, 3, 'a', 'b', 5] >>> str2 = [6,'c'] >>> str1.extend(str2) >>> str1 [1, 1.5, 2, 3, 'a', 'b', 5, 6, 'c']
删除(pop()、remove()、del())
pop():没有指定时,默认删除最后一个元素,有指定时删除指定元素,返回删除的元素。
>>> a = [1,2,3,4] >>> a.pop() 4 >>> a.pop() 3 >>> a = [1,2,3,4] >>> a.pop(2) 3 >>> a.pop(3) Traceback (most recent call last): File "<pyshell#17>", line 1, in <module> a.pop(3) IndexError: pop index out of range
remove():删除指定的元素,返回删除后的列表。
>>> a = [1,2,3,4] >>> a.remove(0) Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> a.remove(0) ValueError: list.remove(x): x not in list >>> a = [1,2,3,4] >>> a.remove(1) >>> a [2, 3, 4]
del():(del是python语句,而不是列表方法)
>>> a = [1,2,3,4] >>> del a[1] >>> a [1, 3, 4] >>> del a >>> a Traceback (most recent call last): File "<pyshell#22>", line 1, in <module> a NameError: name 'a' is not defined
查找
index():查找列表中元素对应的位置。
>>> a = [1,2,3,4] >>> a.index(2) 1 >>> a.index(1) 0 >>> a.index(5) Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> a.index(5) ValueError: 5 is not in list
统计
count():统计列表中某个元素的个数
>>> a = [1,1,2,3,4,5,5,6,6,6] >>> a.count(2) 1 >>> a.count(1) 2 >>> a.count(6) 3
反转
reverse():将列表反转。
>>> a = [1,1,2,3,4,5,5,6,6,6] >>> a [1, 1, 2, 3, 4, 5, 5, 6, 6, 6] >>> a.reverse() >>> a [6, 6, 6, 5, 5, 4, 3, 2, 1, 1]
清空
clear():清空列表的内容,不是删除列表,注意与del()区分。
>>> a [6, 6, 6, 5, 5, 4, 3, 2, 1, 1] >>> a.clear() >>> a []
替换
>>> a = [1,2,3,4] >>> a[1] = 1.5 >>> a [1, 1.5, 3, 4]
排序
sort():按照ASCII码进行排序
>>> a = ['a','c','*','&','e'] >>> a.sort() >>> a ['&', '*', 'a', 'c', 'e'] >>> a = [4,3,2,1] >>> a.sort() >>> a [1, 2, 3, 4]
切片
Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。
格式:[start:end:step]
start:起始索引,从0开始,-1表示结束
end:结束索引
step:步长。步长为正时,从左向右取值。步长为负时,反向取值
注意切片的结果不包含结束索引,即不包含最后的一位,-1代表列表的最后一个位置索引
>>> a = [1,2,3,4,5,6] >>> b = a[:] #省略全部,代表截取全部内容,可以用来将一个列表拷给另一个列表 >>> b [1, 2, 3, 4, 5, 6]
>>> c = a[0:-1:1] #从位置0开始到结束,每次增加1,截取。不包含结束索引位置 >>> c [1, 2, 3, 4, 5]
>>> d = a[:3] #省略起始位置的索引,以及步长。默认起始位置从头开始,默认步长为1,结束位置索引为3 >>> d [1, 2, 3]
>>> e = a[0:5:3] #从第一个位置到六个给位置,每3个取一个值 >>> e [1, 4]
>>> f = a[5:0:-1] #反向取值 >>> f [6, 5, 4, 3, 2] >>> >>> g = a[::-1] >>> g [6, 5, 4, 3, 2, 1]
复制
copy()
>>> a = [1,2,3,4,5,6] >>> a.copy() [1, 2, 3, 4, 5, 6]
这种copy是浅copy
浙公网安备 33010602011771号