if __name__ == '__main__':
n = int(input())
arr = list(map(int, input().rstrip().split()))
Это мой приведенный выше код, который просит меня ввести n числа элементов в массиве.
Однако источник путаницы в том, что, поскольку я новичок в python , Я не могу понять, почему без использования циклов for я могу предоставить несколько значений массивам? Я знаю, что списки используются здесь для преобразования, input () - для получения значения, но это не кажется логичным, что только один оператор ввода может позволить мне ввести 5-6 значений массива! Я знаю, что map используется для перебора изменяемого объекта данной функции!
Другой источник путаницы для меня заключается в том, что если я удалю отсюда rstrip () и split (), я получу ошибку компиляции! Почему так?
arr = list(map(int, input()))
это ошибка:
ValueError: invalid literal for int() with base 10: ' '
Разве этого количества кода не достаточно для получения целочисленных значений массива? Почему я должен использовать здесь эти строковые методы?
(Примечание: - я знаю, что numpy поддерживает массивы! Здесь используется слово массива, чтобы сообщить вам, о какой проблеме задается)