1.  list в Питоне имеет константное время доступа к элементу. Зато вставка-удаление — O(N).
2. Если уж меряем — то давайте делать это более корректно. В вашем случае первый выигрывает.
import array                                                                                                                                                                     
import numpy                                                                                                                                                                     
import random                                                                                                                                                                    
import sys                                                                                                                                                                       
import timeit                                                                                                                                                                    
                                                                                                                                                                                 
from collections import defaultdict                                                                                                                                              
                                                                                                                                                                                 
COUNT = 10**7                                                                                                                                                                    
                                                                                                                                                                                 
a = (list(xrange(COUNT)), tuple(xrange(COUNT)),                                                                                                                                  
     array.array('l', list(xrange(COUNT))),                                                                                                                                      
     numpy.zeros(COUNT))                                                                                                                                                         
                                                                                                                                                                                 
                                                                                                                                                                                 
def f(collection, count):                                                                                                                                                        
    l = len(collection)                                                                                                                                                          
    for i in xrange(count):                                                                                                                                                      
        ind = random.randint(0, l-1)                                                                                                                                             
        collection[ind]                                                                                                                                                          
                                                                                                                                                                                 
print '-' * 80                                                                                                                                                                   
                                                                                                                                                                                 
                                                                                                                                                                                 
res = defaultdict(list)                                                                                                                                                          
                                                                                                                                                                                 
                                                                                                                                                                                 
for i in xrange(100):                                                                                                                                                            
    col = random.choice(a)                                                                                                                                                       
    res[type(col)].append(timeit.timeit("f(col, 100)", "from __main__ import f, col",                                                                                            
                        number=1000))                                                                                                                                            
    sys.stdout.write('.')                                                                                                                                                        
    sys.stdout.flush()                                                                                                                                                           
                                                                                                                                                                                 
print                                                                                                                                                                            
for key, val in res.iteritems():                                                                                                                                                 
    print key, sum(val) / len(val)
дает результат 
——————————————————————————–
……………………………………………………………………………………….
<type ‘numpy.ndarray’> 0.18912228294
<type ‘array.array’> 0.161817329901
<type ‘tuple’> 0.174325704575
<type ‘list’> 0.173715612163
Что больше похоже на правду — все примерно равноценны.