numbers = [1, 2, 3, 4, 5]
even_numbers = filter(lambda num: num % 2 == 0, numbers)
print(list(even_numbers)) # [2, 4]
print(list(even_numbers))
输出:
[2, 4]
[]
因为filter的返回值是一个可迭代对象,使用list函数第一次就将数据取出来了,所以第二次是空数据
同理,map函数也是如此
my_list = [1]*5
new_list = map(str, my_list)
print(list(new_list))
print(list(new_list))
输出:
['1', '1', '1', '1', '1']
[]