2014-04-05 5 views

ответ

5
  1. разделить строку на лексемы (line.split())
  2. взять последние три жетона ([-3:])
  3. полоса '%' от каждого (token.strip('%'))
  4. преобразовать в float

Делая все, что в один вкладыш списка понимания, мы получаем:

[ float(token.strip('%')) for token in line.split()[-3:] ] 
=> [83.6, 95.4, 30.7] 
+1

Очень ясное объяснение, очень Pythonic путь! – Konstantin

3

Это должно работать для вас:

s = 'Total CPU Utilization    83.6% 95.4% 30.7%' 
print re.findall(r'\d+(?:\.\d+)?', s) 
Смежные вопросы