Python appending error

2019-09-24 09:01发布

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?

标签: python append
1条回答
ゆ 、 Hurt°
2楼-- · 2019-09-24 09:58

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]
查看更多
登录 后发表回答