Найти - Пользователи
Полная версия: Python многомерные массивы
Начало » Python для новичков » Python многомерные массивы
1
dycode
Подскажите как создать многомерный массив в питоне?

делаю так:
arr = [[]]
arr[0].append('test')
print arr
работает нормально, пробую так
arr = [[]]
arr[0].append('test')
arr[1].append('qwe2')
print arr
Получаю ошибку:
arr.append('qwe2')
IndexError: list index out of range
В книгах тоже не могу найти создание многомерных массивов / кортежей…

p.s. Python 2.6.6
Eliont
Очень просто:
 
massive = []
for x in range(5):
massive.append([])
for y in range(5):
massive[-1].append(x*y)

print massive[2][2]
print massive
massive = [[[],[],[],[],[]],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]
print massive
Вывод:
4

[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12], [0, 4, 8,
12, 16]]

[[[], [], [], [], []], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
romis
Пример из книги М.Лутц “Изучаем Python”

Один из простейших способов представления матриц (многомерных массивов) в
языке Python заключается в использовании вложенных списков.
Ниже приводится пример двухмерного массива размером 3x3, построенного на базе списков:
>>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
С помощью первого индекса извлекается целая строка (в
действительности - вложенный список), а с помощью второго извлекается элемент
этой строки:
>>> matrix[1]
[4, 5, 6]
>>> matrix[1][1]
5
>>> matrix[2][0]
7
gistator
В питоне нет массивов, но есть NumPy – библиотека позволяющая работать с многомерными массивами.
asilyator
В питоне есть списки, разница только в любом типе элементов и скорости. Но если изначально известно, что нужен массив чисел - почему бы и не numpy.
Андрей Светлов
Про скорость - подробнее, пожалуйста
gistator
При использовании NumPy вычислительные алгоритмы работают быстрее.
Андрей Светлов
Быстрее будут только те алгоритмы, которые реализованы функциями numpy/scipy.
Бегать циклами и складывать элемент с элементом занимает столько же.
Но, в целом, идею понял. Спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB