#python #python_3x
Как из строки достать все числа и поместить их в список. Именно числа, а не отдельные цифры. Например: pre = input('Введите a, b, c через пробел: ').strip() #67ds55 44dg4 54g pre2 = ''.join(i + ' ' for i in pre if i.isdigit()) print(pre2) #6 7 5 5 4 4 4 5 4 Необходимо, чтоб pre2 был списком (в моем примере строка), который принимает цифры не по одному, а по числам, если цифры стоят рядом, например ['67', '55', '44', '4', '54']. Ну и если возможно сделать это с дробными числами, то только лучше.
Ответы
Ответ 1
Можно с помощью регулярных выражений: import re pre = input('Введите a, b, c через пробел: ').strip() #67ds55 44dg4 54g v22.5ger pre2 = re.findall(r'-?\d+\.?\d*', pre) print(pre2) # ['67', '55', '44', '4', '54', '22.5']Ответ 2
from itertools import groupby pre2 = [''.join(g) for k, g in groupby(pre, key=str.isdigit) if k]
Комментариев нет:
Отправить комментарий