Если я правильно понимаю ваш вопрос, это должно дать вам ожидаемый результат:
nodes = []
with open('file.txt','r') as f:
for lineno, line in enumerate(f, 1):
line = line.strip()
if not line:
continue
try:
node_name, xpos, ypos = line.split()
nodes.append([float(xpos), float(ypos)])
except Exception as e:
print("line #{} seems broken (got {})".format(lineno, e))
continue
print(nodes)
РЕДАКТИРОВАТЬ: вы говорите
Сначала я хочу создать следующие списки: Node_1= [20.00, 35.50] Node_2 = [77.00, 21.40] Node_3 = [43.50, 98.30]
Дело в том, что вы не знаете, сколько «узлов» будет в вашем файле, вы не можете знать, сколько переменной 'node_xxx' вам понадобится - и вы в любом случае получите эти значения как nodes[xxx]
.Теперь, если вы хотите сохранить имена узлов, просто используйте dict вместо списка:
nodes = {}
with open('file.txt','r') as f:
for lineno, line in enumerate(f, 1):
line = line.strip()
if not line:
continue
try:
node_name, xpos, ypos = line.split()
nodes[node_name] = [float(xpos), float(ypos)]
except Exception as e:
print("line #{} seems broken (got {})".format(lineno, e))
continue
print(nodes)