Почему этот список для добавления цифр из ввода не работает? - PullRequest
0 голосов
/ 12 мая 2018

Привет новичок в Python и пытается учиться, используя понимание.Разработанный ниже код для чтения чисел в строке и извлечения чисел, однако пытается заменить его одним оператором понимания.Пожалуйста, посоветуйте

sent = input('Enter a string')
digit = []
for i in range(len(sent)):
    if sent[i].isdigit():
    d = sent[i]
    digit.append(d)

Опробованный ниже метод

digit = [d for i in range(len(sent)) if sent[i].isdigit() = d]

1 Ответ

0 голосов
/ 14 мая 2018

Вы рядом; это один из способов:

sent = input('Enter a string')
# 123

digit = [int(sent[i]) for i in range(len(sent)) if sent[i].isdigit()]

print(digit)
# [1, 2, 3]

Более Pythonic подход заключается в прямой итерации значений:

digit = [int(i) for i in sent if i.isdigit()]

Проблема с вашим кодом d не определена в вашем понимании списка.

...