Python中append、extend和insert的区别
admin
2023-07-30 20:16:50
0

Lists就像其他语言中声明的动态大小的数组一样(C++中的vector和Java中的ArrayList)。Lists 不需要总是同质的,这使得它成为 Python 中最强大的工具。一个列表可以包含数据类型,如整数、字符串以及对象。

列表是可变的,因此,即使在创建之后,它们也可以被改变。列表有多种方法,最常用的列表方法是append(), insert(), extend()等。在这篇文章中,我们将讨论 Python 列表中 append()、insert() 和 extend() 方法之间的区别。

append方法

append方法在列表的最后添加一个元素。在 append 函数中传递的参数作为一个元素被添加到列表的末尾,列表的长度增加 1

语法 –

list_name.append(element)

添加的元素(element)可以是一个字符串、整数、元组或其他列表。

示例代码:

# python program to demonstrate working of append function

# assign list
ls = ['one']

# use method
ls.append('tow')
ls.append('tree')

# display list
print(l)

运行结果:

['one', 'tow', 'tree']

insert方法

这个方法可以用来在任何需要的位置插入一个值。它需要两个参数—元素和要插入的元素的索引。

语法 –

list_name(index,element)

元素(element)可以是字符串、对象或整数。

例子:

# python program to demonstrate  working of insert function

# assign list
l = ['one', 'tree']

# use method
l.insert(1, '2')

# display list
print(l)

运行结果:

['one', '2', 'tree']

extend方法

extend方法将迭代器(元组、字符串或列表)中的每个元素附加到列表的末尾,并通过作为参数传递的迭代器的元素数量增加列表的长度。

语法:

list_name.extend(iterable)

示例代码:

# assign list
l = ['welcome', 'to']

# use method
l.extend(['yii', 'bai', '.com'])

# display list
print(l)

运行结果:

['welcome', 'to', 'yii', 'bai', '.com']

在一个程序中比较这几个方法 –



运行结果:

# Python program to demonstrate
# comparison between the three methods

# assign lists
list_a = [1, 2, 3]
list_b = [1, 2, 3]
list_c = [1, 2, 3]

a = ['a', 'b']

# use methods
list_a.append(a)
list_b.insert(3, a)
list_c.extend(a)

# display lists
print(list_a)
print(list_b)
print(list_c)

运行结果:

[1, 2, 3, [a, b]]
[1, 2, 3, [a, b]]
[1, 2, 3, a, b]

append()、insert()和extend()的区别

append() insert() extend()
作为参数传递的元素被追加到列表的末尾 作为参数传递的元素可以通过作为参数传递索引而插入到任何需要的位置。 作为参数传递的迭代器的每个元素都被追加到列表的末尾。
作为参数传递的迭代器在没有任何变化的情况下被追加到列表的末尾,成为一个单一的元素。 作为参数传递的迭代器作为一个单一元素毫无变化地追加到列表的所需索引。 作为参数传递的迭代器将把它的每个元素追加到列表的末尾。
列表的长度增加1 列表的长度增加1 列表的长度增加可迭代元素的数量。
具有O(1)的恒定时间复杂性 具有O(n)的线性复杂性。 时间复杂度为O(k),其中k是可迭代的长度。

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...