Python列表的append()、extend()和insert()的区别

Python中的列表添加元素操作经常出现在代码中,添加元素的常用方法有三种:append、extend和'+='操作。本博文主要梳理三种方法如何使用。之所以写本博文,是因为在列表生成式无法提取数组元素。在本博文最后列举列表生成式出现的错误例子代码。。查阅网络一些资料,现将自己的理解梳理一下,仅供参考,如果有描述不清晰或错误之处,请批评指正。

目录

一、append()函数操作

二、extend()函数和'+='运算符

三、insert()函数

四、列表生成式举例


一、append()函数操作

append函数将元素追加到列表的尾部,每次只能追加一个元素(元素可以为列表、元组等)。追加元素可以直接写入,append()函数中的元素外加[],表示该元素为数组,会将[]直接写入列表中与后面讲述的extend方法不同。追加多个元素需变成列表形式,将该元素列表写入原列表尾部。示例代码如下:

list = [1,2,3]
list.append('a')
#list: [1, 2, 3, 'a']

list.append(['a'])
#list: [1, 2, 3, 'a', ['a']]

list.append(['b','c'])
#list: [1, 2, 3, 'a', ['a'], ['b', 'c']]

二、extend()函数和'+='运算符

列表的extend()函数也是将元素添加到列表尾部,添加元素与append函数略微区别是添加的[]会被删除。添加元素数组,需要添加2层方括号,添加一层[]时,函数会将数组中元素作为独立元素写入列表中。extend函数与'+='运算符等价。示例代码与上面append书写方式一样,但结果略有不同。

list = [1,2,3]

list.extend('a')
#list: [1, 2, 3, 'a']

list.extend(['a'])
#list: [1, 2, 3, 'a', 'a']

list.extend(['b','c'])
#list: [1, 2, 3, 'a', 'a', 'b', 'c']

#添加数组需添加2层[]
list.extend([['b','c']])
#list: [1, 2, 3, 'a', 'a','b', 'c', ['b', 'c']]

将示例代码用'+='符号操作一遍,结果与extend函数相同

list = [1,2,3]
list += 'a'
#list: [1, 2, 3, 'a']

list += ['a']
#list: [1, 2, 3, 'a', 'a']

list += ['b','c']
#list: [1, 2, 3, 'a', 'a', 'b', 'c']

#添加数组需添加2层[]
list += [['b','c']]
#list: [1, 2, 3, 'a', 'a', 'b', 'c', ['b', 'c']]

三、insert()函数

list.insert(self,index,object)函数中的index参数表示插入的索引位置,实际插入位置为index参数指示位置的前一个位置。object参数为插入的实参值。insert函数的示例代码:

list = [1,2,3]
list.insert(0,'a')
#list: ['a', 1, 2, 3]

list.insert(-1,['b'])
#list: ['a', 1, 2, ['b'], 3]

四、列表生成式错误举例

上文提到的三种方法都是将元素写入原列表,直接应用于列表生成式时无法提取元素会返回None,如果想在列表生成式中对列表末尾添加元素需要使用列表拼接的方式。

#本代码主要实现将单个数字添加到列表尾部,并生成新列表

list_1 = ['a','b','c']
new_list = [ list_1.append([i]) for i in range(3)]
#new_list: [None, None, None]

#修改后正确代码
list_1 = ['a','b','c']
list_1 = [ list_1+[i] for i in range(3)]
#list_1: [['a', 'b', 'c', 0], ['a', 'b', 'c', 1], ['a', 'b', 'c', 2]]

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,针对您的问题,我来为您详细解答一下。 Python中的列表是一种非常常见的数据类型,它可以用来存储一系列有序的数据,比如数字、字符串等。在使用列表时,我们经常需要对其进行添加、删除、修改等操作,而其中最常用的就是添加元素操作。 Python中的列表提供了三种添加元素的方法:appendextendinsert,它们的用法和效果都有所不同。 1. append方法 append方法用于在列表末尾添加一个元素,其语法格式如下: ``` list.append(obj) ``` 其中,obj为要添加的元素。例如: ``` a = [1, 2, 3] a.append(4) print(a) # 输出 [1, 2, 3, 4] ``` 上述代码中,我们先定义了一个列表a,然后使用append方法在其末尾添加了一个元素4。 需要注意的是,append方法只能添加一个元素,如果希望添加多个元素,需要多次调用append方法。 2. extend方法 extend方法用于在列表末尾添加另一个列表中的所有元素,其语法格式如下: ``` list.extend(iterable) ``` 其中,iterable为要添加的可迭代对象,比如列表、元组、集合、字符串等。例如: ``` a = [1, 2, 3] b = [4, 5, 6] a.extend(b) print(a) # 输出 [1, 2, 3, 4, 5, 6] ``` 上述代码中,我们先定义了两个列表a和b,然后使用extend方法将b中的所有元素添加到a的末尾。 需要注意的是,extend方法只能添加可迭代对象中的元素,如果需要添加单个元素,需要将其放入一个列表中。 3. insert方法 insert方法用于在列表的指定位置插入一个元素,其语法格式如下: ``` list.insert(index, obj) ``` 其中,index为要插入的位置,obj为要插入的元素。例如: ``` a = [1, 2, 3] a.insert(1, 4) print(a) # 输出 [1, 4, 2, 3] ``` 上述代码中,我们先定义了一个列表a,然后使用insert方法在位置1插入了一个元素4。 需要注意的是,insert方法会将原列表中索引为index及其之后的元素都向后移动一位,因此插入元素的位置应该合理选择。 以上就是Python列表appendextendinsert方法的详细解释,希望能够对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值