我有这个功能,但我不熟悉错误或如何纠正它。你知道吗
def intify(file1):
numbers=range(0,10)
strnum=[]
for x in numbers:
strnum.append(str(x))
number1=[]
for line in file1:
for split in line.split(' '):
number1.append(split)
listnum=[]
for x in number1:
if x[0] in strnum:
listnum.append(x)
w=map(float, listnum)
#return w
print(w)
0x275b990处的错误映射对象
这不是一个错误-您只需打印迭代器的地址,由
map
返回。您可以打印list(w)
,以确保一切正常。当然,您不应该返回list(w)
,因为它是不必要和昂贵的。你知道吗在python3+中,
map()
是一个类,而不是函数(documentation here)。一个map
实例可以被迭代,序列中的每一项只会在需要时被处理(“延迟评估”)。这样就不需要创建实际的列表,节省了时间和内存,如果您不需要所有的项(例如,当您达到某个值时停止处理),那么您也可以保存一堆函数调用。一般来说,您需要使用map()
执行以下操作:如果确实需要实际列表,只需将其转换为:
list()
构造函数接受任何iterable,包括map()
实例:打印
map
对象时看到的不是错误,而是对象的默认Python显示(repr()
)。代码是十六进制对象的id()
,在CPython中是它的内存地址;这主要用于区分一个实例和其他实例。你会经常看到的,所以要习惯。你知道吗相关问题 更多 >
编程相关推荐