当我尝试为我的BeautifulSoup网络刮板找出低价和高价时,出现此错误。我附上了下面的代码。我的列表不应该是整数列表吗?

在发布此消息之前,我经历了类似的NoneType问题,但是解决方案无效(或者我听不懂!)

Traceback (most recent call last):
  File "/home/user-machine/Desktop/cl_phones/main.py", line 47, in <module>
    print "Low: $" + intprices[0]
TypeError: 'NoneType' object is not subscriptable

相关摘要:
intprices = []
newprices = prices[:]
total = 0
for k in newprices:
    total += int(k)
    intprices.append(int(k))

avg = total/len(newprices)

intprices = intprices.sort()

print "Average: $" + str(avg)
print "Low: $" + intprices[0]
print "High: $" + intprices[-1]

最佳答案

intprices.sort()在适当位置进行排序并返回None,而sorted( intprices )从您的列表中创建一个全新的排序列表并返回它。

在您的情况下,由于您不想保留intprices的原始形式,只需要简单地执行intprices.sort()而无需重新分配就可以解决您的问题。

10-06 00:53