Как отсортировать элементы строки по трем спискам?

Изучаю Python не так давно и не могу решить поставленную задачу с помощью цикла For Задача: написать программу, которая сортирует содержимое строки по трем спискам: Символы, буквы, цифры. Если нет символа\буквы\цифры в строке создать пустой список.

Делал через Enumerate, но получался очень длинный код, через цикл For код должен быть объективно короче, но выдавало ошибку с несколькими условиями If

Ввод например 0a1b2.c 3%d4#e 5f,6g7h\8i9j

Вывод

['.', ' ', '%', '#', ' ', ',', '\']

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']


[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Ответы (1 шт):

Автор решения: Глеб

Попробуйте преобразовать это в нормальный код, в процессе поймете, как решается задача.

from string import digits as d, ascii_lowercase as al, punctuation as p
lambda: [[i for i in input() if i in x] for x in (p, al, d)]
→ Ссылка