Конкатенация чисел с плавающей запятой в строку с фиксированной длиной после запятой

Есть список чисел с плавающей запятой, как соединить их в строку по пробелам, но с фиксированной длиной после запятой?

Пробую так:

x = (1.42, 1.5, 241.2, 52.2, 15.1, 52.1)

print(' '.join(map(str, x)))

Но здесь длина не фиксирована. Как её зафиксировать?

Например, для длины 3 хочу получить строку:

1.420 1.500 241.200 52.200 15.100 52.100

Ответы (2 шт):

Автор решения: entithat
x = (1.422, 1.5, 241.2, 52.2, 15.1, 52.1)

print(' '.join(map(lambda x: format(x, '.3f'), x))) # 1.422 1.500 и тд 

Либо так, чтобы не указывать вручную:

prec = 4 # кол-во цифр после запятой
print(' '.join(map(lambda x: format(x, f'.{prec}f'), x)))
→ Ссылка
Автор решения: Zhihar

пара способов, хотя по сути одно и тоже,

тут уж что визуально привлекательнее

x = (1.42, 1.5, 241.2, 52.2, 15.1, 52.1)

res1 = ' '.join(format(i, ".3f") for i in x)

res2 = ' '.join(map(lambda i: format(i, ".3f"), x))

print(res1)
print(res2)

из нового стиля:

res3 = ' '.join("{:.3f}".format(i) for i in x)

res4 = ' '.join(map("{:.3f}".format, x))

тут уже map более красиво выглядит

и еще чуть-чуть:

res5 = ' '.join(f"{i:.3f}" for i in x)

res6 = ' '.join(map(lambda i: f"{i:.3f}", x))
→ Ссылка