как написать в одну строку преобразование
my_str = '3 43 34 453 45'
# переводим строку в список и вкладываем его в новую переменную
my_list = list(my_str)
# удаляем из списка пробелы
my_list = [i for i in my_list if i not in [' ']]
# переводим список из строк в список из чисел
my_list = [int(i) for i in my_list]
[3, 4, 3, 3, 4, 4, 5, 3, 4, 5]
подскажите пожалуйста как это преобразование произвести в одну строчку... ну или просто более лаконично
Ответы (4 шт):
Автор решения: Alpensin
→ Ссылка
my_str = '3 43 34 453 45'
my_list = list(int(i) for i in my_str if i != ' ')
Автор решения: Эникейщик
→ Ссылка
Удаляем пробелы и конвертируем каждый символ в число:
numbers = [int(i) for i in my_str.replace(" ", "")]
Если нужно удалять разные символов, то можно применить регулярные выражения:
import re
numbers =[int(i) for i in re.sub("[ 3]", "", my_str)]
В квадратных скобках символы, которые надо удалить, в данном случае пробел и "3".
Автор решения: MaxU
→ Ссылка
Еще один вариант:
res = [int(i) for i in my_str if i.isdecimal() and i not in "35"]
print(res)
# [4, 4, 4, 4]