Как получить пользовательский ввод из одной строки в массиве NumPy? - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок в python и использую python3. Я учусь numpy, но не могу понять, как получить пользовательский ввод из одной строки. Как вводы -> 1 2 3 4

Я пытался использовать эту команду, которую я обычно использовал для обычного метода массива, отличного от numpy

from numpy import *
arr=array([])  
p=1

arr=list(map(int,append(arr,input().split())))


print(arr)

Но проблема в том, что это превращает мой массив в список, и когда я использую команду

print(arr.dtype)

Это выдает мне эту ошибку -> У объекта 'list' нет атрибута 'dtype'

Итак, мой вопрос: как получить ввод из одной строки при использовании модуля массива numpy?

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

используйте встроенную функцию "asarray" из numpy module

import numpy as np

# use asarray function of the numpy module. you can directly assign the data type too
usrInput = np.asarray(input().split(), dtype=np.int32)
print(type(usrInput))  # checking the type of the array
print(usrInput.dtype)  # check the data type
print(usrInput)  # display the output

, вы должны увидеть что-то подобное в выводе.

<class 'numpy.ndarray'>
int32
[1 2 3 4 5]

Надеюсь, это полезно.

1 голос
/ 16 апреля 2020

Вы должны:

  1. разбить входную строку на список
  2. преобразовать список в массив numpy

Код может быть:

arr = np.array(input().split(), dtype='int')

То же самое для модуля массива, за исключением того, что вы должны явно преобразовать значения в целочисленный тип:

arr = array.array('i', map(int, input().split()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...