【发布时间】:2020-05-25 10:50:37
【问题描述】:
我正在尝试编写一个函数,它接受一个包含数字和字符串的列表,并只返回一个包含数字的列表。我编写的代码如下所示,但它一直抛出错误,我无法理解我做错了什么。希望你能帮忙。
lst = [99, 'no data', 95, 94, 'no data']
def foo(lst):
return [x for x in lst if x.isdigit()]
print(foo(lst))
【问题讨论】:
-
int没有属性isdigit,所以你不能调用它来确定它是否是一个数字。尝试类似:[x for x in lst if isinstance(x, int)] -
如果您只想分隔
int和string,或者您希望分隔数字的string,请提及 .. 因为在给定的示例中,有些是整数,有些是字符串跨度> -
噢,我明白了。非常感谢大家的帮助,真的很感激!
标签: python