def fun(x):
lst = []
for elm in (1, 2, 3):
if elm == x:
lst.append(1)
else:
lst.append(0)
return lst
yumcode = map(lambda x: fun(x), [1, 2, 1, 3])
print(yumcode)
报错原因
在Python 3里面,map()的返回值是iterators,而不是list,所以想要使用,需将iterator类型转换成list类型
在类和方法后面留出2行空行 , 当前只有2行,在每个方法前留出2行空行 , 报错消失
修改结果
def fun(x):
lst = []
for elm in (1, 2, 3):
if elm == x:
lst.append(1)
else:
lst.append(0)
return lst
yumcode = list(map(lambda x: fun(x), [1, 2, 1, 3]))
print(yumcode)