я хочу создать 2D-массив, который состоит из имени узла и его координаты XY, используя NumPy Python - PullRequest
0 голосов
/ 10 октября 2018

Я хочу создать двумерный массив для ввода, не запрашивая ни одного узла, и для каждого узла, принимающего от пользователя 2 значения x координаты и координаты y, и создавая его двумерный массив, состоящий из 3 узлов столбца, координаты x, координаты y.

Ввод:

enter the number of nodes:3
10 12
12 13
5 6 

вывод

[A 10 12
 B 12 13
 C 5 6 ]

1 Ответ

0 голосов
/ 10 октября 2018

Определить 2 функции:

def foo(node):
    return [node]+[int(i) for i in input('for node: %s: '%node).split()]

def foobar():
    n = input('enter the number of nodes:')
    n = int(n)
    alist=[]
    for i,n in zip(range(n),'ABCDEF'):
        alist.append(foo(n))
    return alist

И получить список списков, каждый на основе вашего ввода:

In [348]: foobar()
enter the number of nodes:3
for node: A: 10 12
for node: B: 12 13
for node: C: 5 6
Out[348]: [['A', 10, 12], ['B', 12, 13], ['C', 5, 6]]

Сочетание строк имени узла и чисел не делаетхороший массив NumPy.

Его можно превратить в массив строк.Или массив object dtype.Или структурированный массив.Или еще лучше: один массив имен узлов, а другой 2d с двумя столбцами и координатами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...