Подход Nump и тайминги к списку / массиву с 1.000.000 элементами:
Сроки:
In [10]: a.shape
Out[10]: (1000000,)
In [13]: len(lst)
Out[13]: 1000000
In [18]: %timeit a[a != 2]
100 loops, best of 3: 2.94 ms per loop
In [19]: %timeit [x for x in lst if x != 2]
10 loops, best of 3: 79.7 ms per loop
Заключение: numpy в 27 раз быстрее (на моем ноутбуке) сравнивается для перечисления подхода к пониманию
PS, если вы хотите преобразовать свой обычный список Python lst
в массив numpy:
arr = np.array(lst)
Настройка:
import numpy as np
a = np.random.randint(0, 1000, 10**6)
In [10]: a.shape
Out[10]: (1000000,)
In [12]: lst = a.tolist()
In [13]: len(lst)
Out[13]: 1000000
Проверьте:
In [14]: a[a != 2].shape
Out[14]: (998949,)
In [15]: len([x for x in lst if x != 2])
Out[15]: 998949
Используйте параметр Toggle Between suggestion and Standard completion mode
для visual studio
.. Теперь он будет только suggest
.. и если вы нажмете Tab
, он выполнит ваш выбор ..
Изменить -> IntelliSense -> Toggle
blockquote>
Для Visual Studio 2012 из панели меню
Символы, которые совершают, перечислены в текстовом поле