10

BeautifulSoup Webスクレイパーの低価格と高価格を把握しようとすると、このエラーが発生します。以下のコードを添付しました。私のリストはintのリストであるべきではありませんか?

これを投稿する前に、同様の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]
4

2 に答える 2

25

intprices.sort()リストから新しいソート済みリストNoneを作成し、それを返します。sorted( intprices )

あなたの場合、intprices元の形を維持したくないので、intprices.sort()再割り当てせずに単純に行うだけで問題が解決します。

于 2012-12-02T09:55:30.220 に答える
12

あなたの問題は次の行です:

intprices = intprices.sort()

リストの.sort()メソッドは、リストをその場で操作し、 を返しますNone。次のように変更するだけです。

intprices.sort()

于 2012-12-02T09:57:02.777 に答える