追加列表时使用insert()还是append()?

问题描述 投票:0回答:1

我来自 C,python 对我来说是新的。我知道插入和追加都可以完成将元素追加到列表的相同任务。

// 这只是一个 示例
使用附加:

x: list[int] = []
total_elements: int = 0

# inserting
for i in range(5):
    x.append(i)
    total_elements += 1

# printing
for element in x:
    print(f"{element} ", end = "")
print(f"\n{total_elements} elements in list")

并使用插入:

x: list[int] = []
total_elements: int = 0

# inserting
for i in range(5):
    x.insert(total_elements, i)
    total_elements += 1

# printing
for element in x:
    print(f"{element} ", end = "")
print(f"\n{total_elements} elements in list")

两者都会输出:

0 1 2 3 4 
5 elements in list

比如说,我的名单不断增加。并说我也想跟踪元素的数量。 insert() 可以访问最后一个索引之后的索引(例如,列表大小为 100,我可以这样做

x.insert(total_elements, num)

插入和追加哪一个在时间消耗上会更好、更高效?

编辑:抱歉,如果我的问题有点误导。链接的问题是关于 PREPENDING,而不是附加。在发布我的问题之前,我已经阅读了该问题以及建议的答案,

insert(0,item)
很糟糕,因为它会移动数组中的所有指针。我想问的是APPENDING,因为我使用
insert(total_elements, item)
来追加。我也想跟踪元素的数量。

也感谢您使用

for element in x:

指出更具可读性和更高效的打印代码
python python-3.x list
1个回答
0
投票

Append 的 O(1) 效率更高,因为它总是添加到列表的末尾。 O(n) 的插入效率较低,因为它会在项目周围移动,因为它需要处理在中间插入的情况。 希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.