Concatenation of Strings and lists
<p>In the following python script, it converts the Celsius degree to Fahrenheit but I need to join two list with strings between and after them</p>

<pre><code>Celsius = [39.2, 36.5, 37.3, 37.8]
fahrenheit = map(lambda x: (float(9)/5)*x + 32, Celsius)
print '\n'.join(str(i) for i in Celsius)+" in Celsius is "+''.join(str(i) for i in fahrenheit )+" in farenheit"
</code></pre>

<p>The outcome is this(not what i wanted):</p>

<pre><code>39.2
36.5
37.3
37.8 in Celsius is 102.5697.799.14100.04 in farenheit
</code></pre>

<p>How can I achieve this:</p>

<pre><code>39.2 in Celsius is equivalent to  102.56  in fahrenheit
36.5 in Celsius is equivalent to  97.7  in fahrenheit
37.3 in Celsius is equivalent to  99.14  in fahrenheit
37.8 in Celsius is equivalent to  100.04  in fahrenheit
</code></pre>

<p><strong>EDIT SORRY MY BAD</strong>
Well, the original code I had was</p>

<pre><code>def fahrenheit(T):
    return ((float(9)/5)*T + 32)
def display(c,f):
    print c, "in Celsius is equivalent to ",\
          f, " in fahrenheit" 
Celsius = [39.2, 36.5, 37.3, 37.8]
for c in Celsius:
    display(c,fahrenheit(c))
</code></pre>

<p>But due to reasons I need it to be <strong>within 3 lines</strong></p>

<p>You could always try formatting using %f for float numbers and placing the output in a loop:</p>

<pre><code>for i in range(len(Celsius)):
    print '%f in Celsius is equivalent to %f in fahrenheit' % (Celsius[i], fahrenheit[i])
</code></pre>

<p>EDIT: As per the suggestion of @mgilson, using <code>zip</code> would be better to use instead of taking a count of just <code>Celsius</code>:</p>

<pre><code>for c,f in zip(Celsius, fahrenheit):
    print '%f in Celsius is equivalent to %f in fahrenheit' % (c,f)
</code></pre>

python python-2.7