Lambda和文件写作

时间:2017-02-07 16:28:40

标签: python-2.7

试图找出为什么我不能让Lambda使用写文件。 这是我的代码:

list = (i*2 for i in range(10))
file = open("text.txt", "a")
lambda i: (file.write(str(i) + "\n")), list

在收到以下错误消息之前,我甚至无法关闭文件:

(<function <lambda> at 0x021E1B30>, <generator object <genexpr> at 0x021EC418>)

1 个答案:

答案 0 :(得分:0)

根据您的comment,我猜您要做的是:

map(lambda i: file.write(str(i) + "\n"), list)

但是,我认为您显然试图避免使用的代码更具可读性:

for i in list:
    file.write(str(i) + "\n")

(另外,将Peter's note铭记于心......当您尝试使用list内置函数并查找时,使用list()作为变量会回来困扰您它被覆盖了。)