小可爱. 发表于 2020-10-26 21:41:17

为什么我把filter函数赋值给一个变量 不出结果 在用list函数才出结果

为什么我把filter函数赋值给一个变量不出结果在用list函数才出结果

hrp 发表于 2020-10-26 21:48:52

py3中,filter返回的是一个迭代器对象,list可以把它转换成列表

冬雪雪冬 发表于 2020-10-26 21:52:19

filter是迭代器,主要是微量节省内存,在使用时才得到结果。且只能单次使用。可以用for循环直接调用。
>>> a = filter(None, , -3.14, 'string'])
>>> b = list(a)
>>> b

>>> c = list(a)
>>> c
[] #再次调用已经没有内容了
页: [1]
查看完整版本: 为什么我把filter函数赋值给一个变量 不出结果 在用list函数才出结果