Python 错误<;0x275b990>;-这是什么意思
我有这个功能,但我不熟悉错误或如何纠正它Python 错误<;0x275b990>;-这是什么意思,python,python-3.x,Python,Python 3.x,我有这个功能,但我不熟悉错误或如何纠正它 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)
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处映射对象时出错
在0x275b990处映射对象时出错
这不是一个错误-您只需打印迭代器的地址,由map
返回。您可以打印列表(w)
,以确保一切正常。当然,您不应该返回list(w)
,因为它是不必要的,而且代价高昂。在Python 3+中,map()
是一个类,而不是一个函数()。一个map
实例可以被迭代,序列中的每个项目将只在需要时被处理(“延迟评估”)。这样就不需要创建一个实际的列表,节省了时间和内存,如果您不需要所有的项(例如,当您达到某个值时停止处理),那么您也可以保存一系列函数调用。一般来说,您需要使用map()
:
如果您确实想要一个实际的列表,只需将其转换为一个:list()
构造函数接受任何iterable,包括一个map()
实例:
w = list(map(float, listnum))
打印
map
对象时看到的不是错误,而是对象的默认Python显示(repr()
)。代码是十六进制对象的id()
,在CPython中是它的内存地址;这主要用于区分一个实例与其他实例。你会经常看到这一点,所以要习惯它。这是什么语言?你试过什么?特别是Python3.x。
w = list(map(float, listnum))