中易网

Python3.3的fliter()函数

答案:3  悬赏:60  
解决时间 2021-01-15 08:11
  • 提问者网友:人傍凄凉立暮秋
  • 2021-01-14 07:35
Python3.3的fliter()函数
最佳答案
  • 二级知识专家网友:笑迎怀羞
  • 2021-01-14 09:02
python3 起,filter 函数返回的对象从列表改为 filter object(迭代器),
想要使用的话加上list(),将迭代器转换成列表,例如:
list1= [1, 4, 6, 7, 9, 12, 17]
def is_odd(x):
return x % 2 == 1
print(list(filter(is_odd,list1)))
全部回答
  • 1楼网友:罪歌
  • 2021-01-14 11:03
加上print(list(b))就可以了,返回是列表啊
  • 2楼网友:雪起风沙痕
  • 2021-01-14 10:30
filter(function or None, iterable) --> filter object
python3 起,filter 函数返回的对象从列表改为 filter object(迭代器)

追问:谢谢!那么请问filter object可以如何使用?
追答:
filter object 是一个迭代器,所以支持迭代操作,比如 for 循环:for item in a_filter_object:
    print(item)
或者你还是需要一个列表的话,可以这样得到它:filter_list = [item for item in a_filter_object]
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息