极简python代码_15个拿走即用的极简Python列表代码

94117dd0bd490963f393b58cbfba9f4f.png

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

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

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

1、用 extend 方法。>>> 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]

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

工具地址:http://www.pythontutor.com/visualize.html#mode=editc6d86bf81c320527b22e28dffd63d71b.png

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

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

我们需要给出插入位置的索引,从 0 开始。>>> 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]

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

pop 方法默认是删除最后一个元素。>>> 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]

2、用 remove 方法删除元素。

如果删除的元素有多个的话,只会删除先出现的那一个,其他的不会删除。>>> num = [1, 2, 4, 5, 4]

>>> num.remove(4)

>>> num

[1, 2, 5, 4]

3、如果需要全部清空列表元素,用 claer 方法。>>> 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[0]

1

我们也可以查询具体元素对应的索引值,用 index 方法。>>> l = ['are', 'you', 'ok']

>>> l.index('you')

1

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

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

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

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

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

让列表元素顺序颠倒

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

1、用 reverse 方法。>>> 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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值