1. ホーム
  2. Python

Python エラー: int() の引数は文字列、バイトのようなオブジェクト、または数値でなければならず、 'list' ではありません。

2022-02-07 13:47:54

エラーメッセージ

書籍「"Machine Learning in Action"」を学習する際、書籍に従ってコードを実行したところエラーが発生しましたが、コードにエラーメッセージはなく、エラーが発生したコードは以下のようなものでした。

    sortedClassCount = sorted(classCount.iteritems(), key = operator.itemgetter(1), reverse = True) # sorted


エラーは以下のように報告されます。

エラーの理由

まず、エラーの報告について見てみましょう。

<ブロッククオート

TypeError: int() の引数は 'list' ではなく、文字列、バイトのようなオブジェクト、または数値でなければなりません。

と訳されています。

タイプエラー: int() の引数は "list" ではなく、文字列、オブジェクト、または数値のようなバイトである必要があります。

でエラーが報告されます。

classNumberStr = int(fileStr.split('_'))[0]

ソースコードを解析すると、パラメータが誤って渡されたことが原因であることがわかります。

根本的な原因は 上記のコードに問題があります で、パラメータが正しく転送されない。

解決方法

以下のコードに置き換えてください。

classNumberStr = int(fileStr.split('_')[0])

そして、実行すれば完了です。

皆さんへ一言。 注意しなければならないのは、特にC++のように標準化されていないPythonでは、インデントに注意しなければならないことです .