Python列表知识点汇总,我总结成了 5 个字:增删改查序。



python 类似列表按下标遍历 python 列表 下标_删除元素

就是对列表进行新增元素、删除元素、改变元素、查询元素、列表排序。

接下来对应展开为 Python 习题。

对列表新增元素,有四种方式。

1、用 extend 方法。

>>> l = [1, 2, 3]
>>> j = [4, 5, 6]
>>> l.extend(j)
>>> l
[1, 2, 3, 4, 5, 6]

>>> l = [1, 2, 3]
>>> j = [4, 5, 6]
>>> l.extend(j)
>>> l
[1, 2, 3, 4, 5, 6]

2、用运算符 + 对列表直接进行拼接。

>>> l = [1, 2, 3]
>>> j = [4, 5, 6]
>>> l + j
[1, 2, 3, 4, 5, 6]

>>> l = [1, 2, 3]
>>> j = [4, 5, 6]
>>> l + j
[1, 2, 3, 4, 5, 6]

extend 方法和 运算符 + 的效果看起来一致,原理上其实是有差别的,大家可以用查看代码运行原理的在线工具看看就一目了然了。

工具地址:

http://www.pythontutor.com/visualize.html#mode=edit

http://www.pythontutor.com/visualize.html#mode=edit



python 类似列表按下标遍历 python 列表 下标_python sorted下标_02

运行原理图可以看到,extend 方法是直接在原列表上直接新增,a 列表直接被新增,extend 方法返回的是 None。而用运算符相加的话,相加的结果新开辟一个内存来存放新的列表。

3、用 insert 方法在对应位置插入新的对象。

我们需要给出插入位置的索引,从 0 开始。

>>> num = [1, 2, 4, 5]
>>> num.insert(2, 'three')
>>> num
[1, 2, 'three', 4, 5]

>>> num = [1, 2, 4, 5]
>>> num.insert(2, 'three')
>>> num
[1, 2, 'three', 4, 5]

4、用切片的方式将一个对象插入到列表中。

>>> num = [1, 2, 4, 5]
>>> num[2:2] = ['three']
>>> num
[1, 2, 'three', 4, 5]

>>> num = [1, 2, 4, 5]
>>> num[2:2] = ['three']
>>> num
[1, 2, 'three', 4, 5]

1、我们可以用 pop 方法来删除列表中的元素。

pop 方法默认是删除最后一个元素。

>>> num = [1, 2, 4, 5]
>>> num.pop()
5
>>> num
[1, 2, 4]

>>> num = [1, 2, 4, 5]
>>> num.pop()
5
>>> num
[1, 2, 4]

我们也可以指定索引位置删除对应的元素。

>>> num = [1, 2, 4, 5]
>>> num.pop(1)
2
>>> num
[1, 4, 5]

>>> num = [1, 2, 4, 5]
>>> num.pop(1)
2
>>> num
[1, 4, 5]

2、用 remove 方法删除元素。

如果删除的元素有多个的话,只会删除先出现的那一个,其他的不会删除。

>>> num = [1, 2, 4, 5, 4]
>>> num.remove(4)
>>> num
[1, 2, 5, 4]

>>> num = [1, 2, 4, 5, 4]
>>> num.remove(4)
>>> num
[1, 2, 5, 4]

3、如果需要全部清空列表元素,用 clear 方法。

>>> l = [1, 2, 3]
>>> l.clear()
>>> l
[]

>>> l = [1, 2, 3]
>>> l.clear()
>>> l
[]

修改列表里的元素,我们直接用下标赋值替换就好。

>>> num = [1, 2, 4, 5]
>>> num[1] = 'two'
>>> num
[1, 'two', 4, 5]

>>> num = [1, 2, 4, 5]
>>> num[1] = 'two'
>>> num
[1, 'two', 4, 5]

查询列表里的元素,我们也用下标直接查看。

>>> num = [1, 2, 4, 5]
>>> num[0]
1

>>> num = [1, 2, 4, 5]
>>> num[0]
1

我们也可以查询具体元素对应的索引值,用 index 方法。

>>> l = ['are', 'you', 'ok']
>>> l.index('you')
1

>>> l = ['are', 'you', 'ok']
>>> l.index('you')
1

对列表里的元素进行升降序排列

这个可以用 sort 和 sorted 都可以做到。

这两种方式的区别是什么呢?我们直接用运行原理工具查看。



python 类似列表按下标遍历 python 列表 下标_python 列表相加_03

sort() 直接返回为 None,它直接在原列表上进行排序,原列表改变了,sorted 会开辟一个新的内存空间来存放排序好的列表。

sort 和 sorted 默认都是升序排列的,如果想降序呢?那也简单,把 reverse 参数改成 True就搞定,这个参数默认为 False。



python 类似列表按下标遍历 python 列表 下标_python基本代码_04

让列表元素顺序颠倒

这个就是全量把列表里的元素掉头。

1、用 reverse 方法。

>>> num = [1, 2, 3, 4, 5]
>>> num.reverse()
>>> num
[5, 4, 3, 2, 1]

>>> num = [1, 2, 3, 4, 5]
>>> num.reverse()
>>> num
[5, 4, 3, 2, 1]

2、用切片的方法搞定。

>>> num = [1, 22, 45, 99, 49]
>>> num[::-1]
[49, 99, 45, 22, 1]

>>> num = [1, 22, 45, 99, 49]
>>> num[::-1]
[49, 99, 45, 22, 1]