質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

905閲覧

pythonエラーが解消できません

toshimaru0304

総合スコア13

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/03/30 08:28

リスト内の指定した要素を全て削除したい

発生している問題・エラーメッセージ

Traceback (most recent call last): File "kiso7.py", line 48, in <module> my_remove('1', test_list_1) File "kiso7.py", line 45, in my_remove ls.remove(r) ValueError: list.remove(x): x not in list``` ### 該当のソースコード ```python3 def my_remove(r, ls): for i in ls: ls.remove(r) print(ls) test_list_1 = ['1', '2', '3', '2', '1'] my_remove('1', test_list_1)``` ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cateye

2019/03/30 08:54

質問は修正・変更が出来るのでソースを貼り直してください。
guest

回答1

0

ベストアンサー

元のソースコードが以下の状態と推測して回答します

#!python3 def my_remove(r, ls): for i in ls: # (1) ls.remove(r) # (2) print(ls) test_list_1 = ['1', '2', '3', '2', '1'] my_remove('1', test_list_1)

実行結果

['2', '3', '2', '1'] #(3) ['2', '3', '2'] Traceback (most recent call last): File "182076.py", line 9, in <module> my_remove('1', test_list_1) File "182076.py", line 5, in my_remove ls.remove(r) ValueError: list.remove(x): x not in list

ls.remove() は、リスト内に存在する指定した要素をひとつ削除します。
(1) でループさせる対象がリスト内の要素全てになっているので、ls.remove('1')
test_list_1 の要素数の5回ループすることになります。しかし、 test_list_1 には、'1'
2つしか含まれないため、3回目にls.remove() が実行される際にエラー(ValueError: list.remove(x): x not in list)が発生します。
とりあえず動作するようにするには、リスト内に削除対象の要素が含まれることを確認するようにすれば良いです。

#!python3 def my_remove(r, ls): while r in ls: ls.remove(r) print(ls) test_list_1 = ['1', '2', '3', '2', '1'] my_remove('1', test_list_1)

投稿2019/03/30 10:37

YakumoSaki

総合スコア2027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toshimaru0304

2019/03/30 17:50

なるほど!!理解できました ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問