datgenn
Ноя. 5, 2012 17:20:58
здравствуйте.при изучении python возник вопрос с массивами(списками).например в с чтобы создать пустой 100 элементный массив мы писали int a,а как в python сделать точно также?потому что в книге автор создает сразу небольшие заполненные массивы по 5-10 элементов.просто в универе все кодят в c++ и я тоже так делал,а тут книжку купил решил писать на python .например мне нужно создать хеш таблицу мне нужем массив элементов 150 чтобы потом его заполнять-это я чтобы не спрашивали зачем мне это нужно))
odnochlen
Ноя. 5, 2012 17:25:51
Питон - это не си. Подходы из си тут часто или не нужны, или не будут работать.
Заполнять списки нужно только, чтобы писать туда что-то по индексу. Для добавления в конец есть .append()
dimy44
Ноя. 5, 2012 17:26:38
В Python нет таких ограничений, как в плюсах например. Создавайте например пустой список (словарь), добавляйте туда что угодно и сколько угодно (в пределах разумного).
З.Ы. Пока писал, уже ответили, почему нет кнопки “удалить”??
datgenn
Ноя. 5, 2012 17:29:46
я вот как раз насчет .append() думал он мне на глаза когда попался,но думал можно задать строго размерность массива.
всем спасибо)
JOHN_16
Ноя. 6, 2012 00:56:59
datgennможно? только если забить его какими либо значениями
>>> l=[0]*15
>>> l
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
adray
Ноя. 6, 2012 10:35:56
в numpy есть ndarray с возможностью создавать массив с заданной размерностью и типом, но это решение не питоническое и работать будет медленнее
odnochlen
Ноя. 6, 2012 17:11:46
adray
и работать будет медленнее
Почему?
adray
Ноя. 6, 2012 18:47:18
odnochlen
Почему?
Проверка типов, анбоксинг, вот это все.. судя по timeit, при доступе к элементу по индексу list уделывает массивы из numpy ~ в 2 раза. Наверняка преимущество у numpy будет на больших объемах при использовании сишных функций из библиотеки.