मैंने पायथन में एक सूची को उलट करने के दो अलग-अलग तरीकों का परीक्षण किया।क्यों l.insert (0, i) lyappend (i) से पाइथन में धीमी है?
import timeit
value = [i for i in range(100)]
def rev1():
v = []
for i in value:
v.append(i)
v.reverse()
def rev2():
v = []
for i in value:
v.insert(0, i)
print timeit.timeit(rev1)
print timeit.timeit(rev2)
दिलचस्प बात यह है कि दूसरी विधि जो पहले तत्व के मान को सम्मिलित करती है वह पहले की तुलना में काफी धीमी है।
20.4851300716
73.5116429329
यह क्यों है? ऑपरेशन के मामले में, सिर पर एक तत्व डालना महंगा नहीं लगता है।
यदि आपको डेटास्ट्रक्चर जैसी लिंक-सूची की आवश्यकता होती है तो एक डेक का उपयोग करें: http://docs.python.org/2/library/collections.html#collections.deque –