I have a list of floats in python:
a = [1.2, 2.9, 7.4]
I want to join them to produce a space-separated string - ie.:
1.2 2.9 7
You need to convert each entry of the list to a string, not the whole list at once:
print " ".join(map(str, a))
If you want more control over the conversion to string (e.g. control how many digits to print), you can use
print "".join(format(x, "10.3f") for x in a)
See the documentation of the syntax of format specifiers.
Actually you have to loop through them. With a generator or list comprehension that looks pretty clean:
print " ".join(str(i) for i in a)
(map loops through them, as does the format code)
The generator has the advantage over the list comprehension of not generating a second intermediate list, thus preserving memory. List comprehension would be:
print " ".join([str(i) for i in a])