问题
x = []
with open(filechoice) as fileobj:
for word in fileobj:
for ch in word:
f = ord(ch)
x = x.append(ord(ch))
But it returns this error:
"AttributeError: 'NoneType' object has no attribute 'append'"
How can I fix this error?
回答1:
The list.append()
method returns None
, and you replaced the list stored in x
with that return value:
x = x.append(ord(ch))
Don't assign back to x
here; list.append()
alters the list in place:
with open(filechoice) as fileobj:
for word in fileobj:
for ch in word:
x.append(ord(ch))
You can use a list comprehension to build the list instead:
with open(filechoice) as fileobj:
x = [ord(ch) for word in fileobj for ch in word]
来源:https://stackoverflow.com/questions/29954520/python-appending-error