python中list删除中的remove、pop、del以及正序、倒序删除效率比较

# 1listRemove之影分身
import time
from copy import deepcopy

wayTime = {}

start = time.time()
l1 = [1, 2, 3, 4, 5, 6, 11, 1, 5] * (10 ** 3)
l2 = deepcopy(l1)

for i in l1:
    if i == 1:
        l2.remove(i)
end = time.time()
times1 = end - start
print("times1耗时{0}".format(times1))

print("l1:", l1)
print("l2:", l2)
wayTime["remove之影分身"] = times1

# 2listPop影分身
start = time.time()
l3 = [1, 2, 3, 4, 5, 6, 11, 1, 5] * (10 ** 3)
l4 = deepcopy(l3)
for i in range(len(l3) - 1, -1, -1):
    # print(i)
    if l4[i] == 1:
        l4.pop(i)
end = time.time()
times2 = end - start
print("times2耗时{0}".format(times2))
print('l3', l3)
print('l4', l4)
wayTime["pop影分身"] = times2

# 3影分身之正序del
start = time.time()
l5 = [1, 2, 3, 4, 5, 6, 11, 1, 5] * (10 ** 3)
l6 = deepcopy(l5)

for i in l5:
    if i == 1:
        del l6[i]
end = time.time()
times3 = end - start
print("times3耗时{0}".format(times3))

print("l5:", l1)
print("l6:", l2)
wayTime["影分身之正序del"] = times3

# 4影分身之倒序del
start = time.time()
l7 = [1, 2, 3, 4, 5, 6, 11, 1, 5] * (10 ** 3)
l8 = deepcopy(l4)

for i in range(len(l7) - 1, -1, -1):
    if i == 1:
        del l8[i]
end = time.time()
times4 = end - start
print("times4耗时{0}".format(times4))

print("l7:", l1)
print("l8:", l2)
wayTime["影分身之倒序del"] = times4
# 5正常正序删除
start = time.time()
l9 = [1, 2, 3, 4, 5, 6, 11, 1, 5] * (10 ** 3)
for i in l9:
    if i == 1:
        l9.remove(1)
        i -= 1
end = time.time()
times5 = end - start
print(l9)
print("times5耗时{0}".format(times5))
wayTime["正常正序remove删除"] = times5

# 6倒序pop删除
start = time.time()
l10 = [1, 2, 3, 4, 5, 6, 11, 1, 5] * (10 ** 3)
for i in range(len(l10) - 1, -1, -1):
    if l10[i] == 1:
        l10.pop(i)
        i += 1

end = time.time()
print(l10)
times6 = end - start
print("times6耗时{0}".format(times6))
wayTime["倒序pop删除"] = times6

wayTime2 = {value: key for key, value in wayTime.items()}
wayTimeList = list(wayTime2.keys())
wayTimeList.sort()
for key in wayTimeList:
    wayTime2[key]
    print(key, wayTime2[key])
# print(wayTimeList)
0.0010008811950683594 倒序pop删除
0.002000093460083008 影分身之倒序del
0.0030007362365722656 pop影分身
0.004001140594482422 影分身之正序del
0.04400992393493652 正常正序remove删除
0.047457218170166016 remove之影分身

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

床长小跟班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值