Добро пожаловать в stackoverflow.Есть несколько причин, по которым ваш вопрос здесь не получил положительной реакции.
Вы на самом деле не задавали вопрос.Вы не можете просто сказать, что вы хотите, и ожидать, что сообщество с готовностью поможет вам.
Вы не сказали нам, что вы сделали до сих пор, чтобы решить это самостоятельно.
Я предполагаю, что вы получили такой вывод:
('vec1 =', [1.2, 4.5, 4.4])
, но надеялись на
vec1 = [1.2, 4.5, 4.4]
Есть несколько способов получить то, чтоВы хотите, но вы должны сначала понять, почему это произошло.В вашей функции vec_print
вы возвращаете два значения: return name, list
.В Python, если вы делаете это, вы на самом деле возвращаете кортеж возвращаемых значений.Когда вы печатали возвращаемое значение, вы печатали представление кортежа из двух элементов.
Существует два пути к решению:
- Не возвращать кортеж.Это будет выглядеть примерно так:
return name + repr(list)
- Соедините элементы кортежа и напечатайте его вместо кортежа.Самый простой способ - использовать оператор
*
для доставки элементов кортежа в функцию печати: print(*vec_print([1.20,4.50,4.40],'vec1'))
Это работает в python3, потому что печать - это функция.В python2 это будет ошибкой, поскольку print
является оператором, а не функцией, если вы не выполните from __future__ import print_function