嗨,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]
你很接近;这是一种方式:
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]
一种更 Python 的方法是直接迭代值:
digit = [int(i) for i in sent if i.isdigit()]
代码的问题在于d
列表理解中未定义。