【Python】引数にリストを必要とする関数におけるValueErrorの解決方法
こんにちは、にわこまです。
今回は、引数にリストを必要とする関数を使用したときに発生するValueErrorの解決方法を紹介します。
具体的には以下のようなエラーの解決方法を紹介します。
「ValueError: 関数名 arg is an empty sequence」
誤字脱字や分からない点がございましたらご連絡お願いいたします。
メールまたはTwitterのDMまで!
スポンサードサーチ
ValueErrorの解決方法
1.引数のリストに要素を追加する
2.引数のリストの要素数が0の場合は実行しないようにする
引数のリストに要素を追加することでValueErrorを解決することができます。
そもそも「ValueError」とは、「値がおかしいですよ」というエラーです。
さらに「関数 arg is an empty sequence」は、「関数の引数は空の配列です。」ということです。
Python ValueErrorの公式ドキュメントはこちら
min関数、max関数を例に解説します。
エラーのサンプルコード(1)
エラーが発生するサンプルコードとその実行結果を以下に示します。
l = []
print(min(l))
=== 実行結果 ===
Traceback (most recent call last):
File "arg_list_func_error.py", line 2, in <module>
print(min(l))
ValueError: min() arg is an empty sequence
min関数に代入されたリストlの要素数が0であったためエラーが発生しました。
リストlに要素を追加することでエラーを解決することができます。
エラーを解決したサンプルコード(1)
エラーを解決したサンプルコードとその実行結果を以下に示します。
l = [3, 6, 9, 12,]
print(min(l))
=== 実行結果 ===
3
エラーが発生するサンプルコード(2)
エラーが発生するサンプルコードとその実行結果を以下に示します。
l = []
print(max(l))
=== 実行結果 ===
Traceback (most recent call last):
File "arg_list_func_error2.py", line 2, in <module>
print(max(l))
ValueError: max() arg is an empty sequence
max関数に代入されたリストlの要素数が0であるためエラーが発生しました。
リストlの要素数が0である場合は、実行しないようにするとエラーを解決することができます。
エラーを解決したサンプルコード(2)
エラーを解決したサンプルコードとその実行結果を以下に示します。
l = []
if(len(l) != 0):
print(max(l))
=== 実行結果 ===
まとめ
今回は、引数にリストを必要とする関数におけるValueErrorの解決方法を紹介しました。
引数にリストを必要とする関数であっても、返却値を持たない関数ではこのエラーは発生しないため気を付けましょう。
改めて解決方法を示します。
1.引数のリストに要素を追加する
2.引数のリストの要素数が0の場合は実行しないようにする
解決してほしいエラーなどがありましたらTwitterのDMまで!
最後までお読みいただきありがとうございます。
スポンサードサーチ