2015-05-28 3 views
2

У меня есть массив numpy, и я хотел бы напечатать значения этого массива в определенном формате.Как быстро использовать формат для печати списка?

я могу сделать follwing с x в Numpy массив длины 3:

print((3*"%12.6f") % tuple(x)) 

Есть ли способ сделать то же самое с format методом строковых объектов? До сих пор только рабочий раствор у меня не ниже и менее легко:

print("{:12.6f} {:12.6f} {:12.6f}".format(x[0], x[1], x[2])) 

Кроме того, я предполагаю, что format синтаксис python3, и я хотел бы перейти на этот синтаксис.

ответ

3

Вы можете использовать тот же трюк, который вы использовали первоначально. Вам просто нужно использовать распаковку аргументов на x.

print(("{:12.6f} "*3).format(*x)) 

... Хотя я был бы более склонен использовать выражение генератора здесь.

print("".join("{:12.6f}".format(item) for item in x)) 
+3

Вы можете просто изменить hardcoded '3' на' * len (x) ', чтобы получить хорошее, общее решение. –

+0

Что означает '* x'? – Ger

+0

@Ger, [аргумент распаковка] (https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists). – Kevin

Смежные вопросы