Python代码输出的0x056D44F0是内存地址还是错误?
关于Python中map对象打印结果的解释
这个0x056D44F0是内存地址,不是错误信息。
在Python 3中,map()函数返回的是一个map类型的迭代器对象,而非直接生成计算后的结果列表。当你直接打印这个迭代器对象时,Python会输出它在内存中的存储地址,也就是你看到的十六进制数值。
如果想要获取实际的计算结果,你需要将这个迭代器转换为列表,修改代码如下:
def myfunc(a): return len(a) x = map(myfunc, ('apple', 'banana', 'cherry')) print(list(x))
运行后会输出[5, 6, 6],对应三个输入字符串的长度。
内容的提问来源于stack exchange,提问作者Sameer Taniyalam
相关产品推荐
相关产品推荐

