python笔记 列表增加

177 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第10天,点击查看活动详情

0 环境

  • 编辑器:idea
  • 系统版本:win10
  • python版本:3.9.6

1 增加

1 列表插入(insert)

在第n个索引前插入值。

image.png

def insert_demo():
    a = [1,2,3]
    print("前:", a)
    a.insert(1, 12)
    print("后:", a)

image.png

2 列表追加(append)

append在原列表(这里的意思是:影响原先的列表,直接将元素添加进入,而不是自己新建列表,在添加。)里新增元素,新增规则:直接在列表的最后添加一位,可以称之为追加。

image.png

def append_demo():
    a = [1,2,3]
    print("前:", a)
    a.append(12)
    print("后:", a)

image.png

上边两种添加值对比: append时间复杂度:O(1)。 insert时间复杂度:O(n)。 如无特殊需求,请用列表追加。

3 列表extend

将可迭代对象追加到原列表的末尾。这里和append是有区别的,append只接收值,而extend把可迭代对象里的每个元素循环追加到列表中(分解成一个个值,追加到原列表的末尾)。 区别:

  • append:操作单个值
  • extend:操作可迭代对象

extend类比:

for i in 待传入列表:
    列表.append(i)

image.png

extend新拆分列表,重新追加原列表中。append直接将列表当成值,不作处理,直接追加进去。

def extend_demo():
    a = [1,2,3]
    extend = [4,5,6]
    a.extend(extend)
    print(a)
    b = [11,12,13]
    b.append([14,15,16])
    print(b)

image.png

4 列表 + 列表(列表连接)

两个列表(不会被修改)相加得出(生成新的)返回值(新的列表)。为啥可以,列表也是对象,它可以调用__add__方法

def list_add_demo():
    a = [1,2,3]
    b = [4,5,6]
    c = a + b
    print("a ==>", a)
    print("b ==>", b)
    print("c ==>", c)

image.png

2 总结

首先想想增加的方式,单个值的添加,追加 --> 列表尾追加,插入 --> 故名思意,插在哪个索引里。新列表(多个值)的添加,用extend,新列表拆分成一个个元素挨个追加到原列表末尾,若是不想改动原列表,直接相加。