کدی که نوشتی، ارتباطی با اون چیزی که تو w3s نوشته بود نداره. من یه کدی شبیه بهش نوشتم به این صورت:
#!/usr/bin/python3
# Released under GPLv3+ License
# Danial Behzadi <dani.behzi@ubuntu.com>, 2022.
import time
def bad():
    arr = list(range(9999999))
    start = time.time()
    for i in range(len(arr)):
        pass
    stop = time.time()
    return stop - start
def good():
    start = time.time()
    for i in range(9999999):
        pass
    stop = time.time()
    return stop - start
print(f"bad: {bad()}")
print(f"good: {good()}")
خروجیش شد این:
bad: 0.16060471534729004
good: 0.160383939743042
که فرق معنیداری با هم ندارن.
اگه بخوای ببینی کجا فرق دارن با هم، باید یه مقدار از ساختار درستنویسی تو پایتون خارج بشی و کمی غیراستاندارد بنویسی. مثل این:
#!/usr/bin/python3
# Released under GPLv3+ License
# Danial Behzadi <dani.behzi@ubuntu.com>, 2022.
import time
def bad():
    arr = list(range(9999999))
    i = 0
    start = time.time()
    while i < len(arr):
        i += 1
    stop = time.time()
    return stop - start
def good():
    i = 0
    start = time.time()
    while i < 9999999:
        i += 1
    stop = time.time()
    return stop - start
print(f"bad: {bad()}")
print(f"good: {good()}")
که خروجیش میشه این:
bad: 0.7553167343139648
good: 0.38115859031677246
که خب همونطور که گفتم در پایتون درست نیست.