Turn all elements of a list into floats

2

This is the code I wrote.

n_alunos=input('')
x=0
idades=[]
alturas=[]

while x != n_alunos:
    x+=1
    n=raw_input('')
    a=n.split(" ")
    idades.append(a[0])
    alturas.append(a[1])

How do I transform the elements of the 2 string lists to float?

    
asked by anonymous 19.11.2017 / 23:27

1 answer

6

To convert an existing list of strings to a list of floats:

lista = [float(i) for i in lista]

Source: link

The tbm conversion can be performed directly in append:

idades.append(float(a[0]))

I rewrote your code for python3 doing the conversion so (and some other modifications). If you prefer:

#!/usr/bin/python3
n_alunos = int(input('N. de alunos:    '))
idades = []
alturas = []
for i in range(n_alunos):
    dados = input('Idade/altura:    ').split(" ")
    idades.append(float(dados[0]))
    alturas.append(float(dados[1]))
    
20.11.2017 / 01:57