关于filter函数在此题的用法
来源:3-2 项目作业
weibo_慕运维1239442
2020-03-04 16:00:11
def all_num(n):
result = n.isdigit()
return result
def set_final_num():
i = input('数字区间起始值:')
j = input('数字区间终止值:')
num = [i, j]
print(filter(all_num, num))
当我这么使用filter时,不论输入的是数字还是字母,print出来的是类似“<filter object at 0x03686130>”这样的东西,请问我该如何判断输入的是不是数字?
1回答
同学,你好:
filter()函数在Python3的版本中返回的是迭代器对象,可用list()函数转换成列表类型;
判断输入的是不是数字,可根据转换后的列表长度来判断,filter()函数会把符合all_num()函数的数据返回,如果输入的区间数据都是数字字符,则转换后的列表长度等于2;
如果解决了你的疑惑,请采纳,祝学习愉快~
相似问题