Определить 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 с двумя столбцами и координатами.