python复制平面列表的哪种方法更快:理解、切片或copy.copy?

2024-04-29 10:55:56 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我想用python制作一个列表的浅拷贝。哪种方法最快

我能想到

  • copy.copy(l)
  • l[:]
  • [x for x in l]
  • list(l)

1条回答
网友
1楼 · 发布于 2024-04-29 10:55:56

在jupyter笔记本电脑、python 3.8中测试

l = list(range(10000))
%%timeit
[x for x in l]
# 175 µs ± 5.23 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

%%timeit
copy.copy(l)
# 22.6 µs ± 365 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

%%timeit
l[:]
# 22 µs ± 1.28 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

%%timeit
list(l)
# 21.6 µs ± 558 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

所以它们都是一样的,只是列表理解要慢得多

相关问题 更多 >