Другие приводили примеры того, как это сделать в чистом питоне. Если вы хотите сделать это с помощью массивов с 100 000 элементами, вы должны использовать numpy:
In [1]: import numpy as np
In [2]: vector1 = np.array([1, 2, 3])
In [3]: vector2 = np.array([4, 5, 6])
Выполнение элементарного добавления теперь так же тривиально, как
In [4]: sum_vector = vector1 + vector2
In [5]: print sum_vector
[5 7 9]
так же, как в Matlab.
Сроки сравнения с самой быстрой версией Ashwini:
In [16]: from operator import add
In [17]: n = 10**5
In [18]: vector2 = np.tile([4,5,6], n)
In [19]: vector1 = np.tile([1,2,3], n)
In [20]: list1 = [1,2,3]*n
In [21]: list2 = [4,5,6]*n
In [22]: timeit map(add, list1, list2)
10 loops, best of 3: 26.9 ms per loop
In [23]: timeit vector1 + vector2
1000 loops, best of 3: 1.06 ms per loop
Итак, это на 25 раз быстрее! Но используйте то, что подходит вашей ситуации. Для простой программы вы, вероятно, не хотите устанавливать numpy, поэтому используйте стандартный python (и я нахожу версию Henry самой питонической). Если вы находитесь в серьезном количестве хрустов, пусть numpy
делает тяжелый подъем. Для скорости freaks: кажется, что решение numpy быстрее начинается с n = 8
.
При использовании в качестве изображения (через тег html <img>
, тег SVG <image>
или как фоновое изображение CSS) SVG должен состоять из одного файла, чтобы защитить конфиденциальность пользователя.
Вы можете использовать шрифт, но вам нужно будет преобразовать данные шрифта в URI данных и вставить шрифт в файл SVG.