# 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之影分身