Альтернатива ответу Джорданма с использованием regex
:
import re
strings = ['Rating 3.9577555469954', 'Rating 3.730694980695', 'Rating 4.0717869548437', 'Rating 4.0597014925373', 'Rating 3.7323798994975']
floats = [float(re.findall('([0-9]+[,.]+[0-9]+)',x)[0]) for x in strings]
print(floats)
Выходы:
[3.9577555469954, 3.730694980695, 4.0717869548437, 4.0597014925373, 3.7323798994975]
Это будет захватывать все цифры, независимо от "рейтинга" или другого слова, которое может предшествовать Это. (например, если Ratings
)