Форум сайта python.su
0
здравствуйте.при изучении python возник вопрос с массивами(списками).например в с чтобы создать пустой 100 элементный массив мы писали int a,а как в python сделать точно также?потому что в книге автор создает сразу небольшие заполненные массивы по 5-10 элементов.просто в универе все кодят в c++ и я тоже так делал,а тут книжку купил решил писать на python .например мне нужно создать хеш таблицу мне нужем массив элементов 150 чтобы потом его заполнять-это я чтобы не спрашивали зачем мне это нужно))
Офлайн
14
Питон - это не си. Подходы из си тут часто или не нужны, или не будут работать.
Заполнять списки нужно только, чтобы писать туда что-то по индексу. Для добавления в конец есть .append()
Офлайн
В Python нет таких ограничений, как в плюсах например. Создавайте например пустой список (словарь), добавляйте туда что угодно и сколько угодно (в пределах разумного).
З.Ы. Пока писал, уже ответили, почему нет кнопки “удалить”??
Отредактировано dimy44 (Ноя. 5, 2012 19:04:35)
Офлайн
0
я вот как раз насчет .append() думал он мне на глаза когда попался,но думал можно задать строго размерность массива.
всем спасибо)
Офлайн
221
datgenn
можно? только если забить его какими либо значениями
>>> l=[0]*15 >>> l [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Офлайн
18
в numpy есть ndarray с возможностью создавать массив с заданной размерностью и типом, но это решение не питоническое и работать будет медленнее
Офлайн
14
adrayПочему?
и работать будет медленнее
Офлайн
18
odnochlenПроверка типов, анбоксинг, вот это все.. судя по timeit, при доступе к элементу по индексу list уделывает массивы из numpy ~ в 2 раза. Наверняка преимущество у numpy будет на больших объемах при использовании сишных функций из библиотеки.
Почему?
Офлайн