随笔记之列表赋值、追加元素方法扩展
若此时有列表如下:
a = [1, 2, 3]
我想将列表a的第一个元素替换为a, 第二个元素替换为b,如何操作?想必各位心中已有答案。看代码如下
a = [1, 2, 3] a[0] = "a" a[1] = "b" print(a)
分别拿到要替换的值,再进行赋值,就可以达到我们上面所说的目标了,那么如果这个列表长度为10,我需要替换前8个元素呢?
如果继续按照上面的方法的话,代码是不是显得冗余?好方法如下(当然可能有更好的解决方式,我只是提供一种新的思路)
a = [1, 2, 3, 4, 5] a[:4] = "abcd" print(a)
输出为:[‘a’, ‘b’, ‘c’, ‘d’, 5]
这样会不会更方便一点。
那么接下来看追加,说到追加各位老司机们定然有了答案:append
a = [1, 2, 3, 4, 5] a.append('a') print(a)
输出为:[1, 2, 3, 4, 5, "a"]
append确实能达到我们的预期,那么问题来了,我要追加5个元素呢? 追加10个呢?
看思路如下:
a = [1, 2, 3, 4, 5] a[5:] = "abcd" print(a)
输出为: [1, 2, 3, 4, 5, 'a', 'b', 'c', 'd']
是不是很神奇?
看代码可以得到列表a共有5个元素,那么下标最大为4,a[5:] = “abcd”,是不是就可以理解为追加呢
这里需要注意的是如果追加的是字符串会将每一个字符分割开,逐个追加
如果追加的是列表,那么会作为一个元素追加到列表末尾
随笔记,有错误/遗漏的地方还请大佬指出,小弟感激不尽