Как я могу использовать N (считанное от пользователя) количество входных данных в массиве в python 3?

#python #arrays #python-3.x #numpy

#python #массивы #python-3.x #numpy

Вопрос:

Я хочу сделать это так, как мы делаем в java, где мы берем количество элементов от пользователя, а затем объявляем массив с указанным размером. ie; int[] arr=new int[n];

Комментарии:

1. Что вы уже пробовали?

2. Итак, вы просто получаете размер от пользователей, а не значения? И зачем вам нужно «объявлять массив»? Это Python, а не Java. Обычно лучше сразу создать массив или список с желаемыми значениями, а не инициализировать с последующим заполнением. Но, возможно, более важно — вам нужен список Python или numpy массив?

Ответ №1:

В Python массивы называются списками и не имеют фиксированной длины. Но если вы хотите создать список из N элементов, все из которых будут равны нулю, вы могли бы использовать этот код:

 n = int(input())
lst = []
for x in range(n):
    lst.append(0)
  

Комментарии:

1. Почему бы и нет [0]*n ?

2. OP явно новичок и [0] * n несколько подвержен ошибкам. int s являются примитивами, поэтому этот подход работает так, как ожидалось, но если бы вы инициализировали список объектов таким образом (например, список списков), вы бы увидели, что все его элементы фактически являются одним и тем же объектом. Итак, я бы сказал, что решение Дэниела Коэна более удобно для начинающих, поскольку оно не позволяет им стрелять себе в ноги.