嗨新手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]
答案 0 :(得分:1)
你很亲密;这是一种方式:
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
在列表解析中未定义。