<map object at 0x0000026B2959DA20>如何解决

  1. 报错代码及结果
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)

在这里插入图片描述
在这里插入图片描述

  1. 报错原因
    在Python 3里面,map()的返回值是iterators,而不是list,所以想要使用,需将iterator类型转换成list类型
    在类和方法后面留出2行空行 , 当前只有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)

你可能感兴趣的:(Python,python,pycharm)