質問:
|
これは次みたいなエラーを吐く:
|
だからこうしたんだけど:
|
でも、これをするもっと簡単な方法って無い?
By zjm1126 | 質問日時: 2010年5月8日 7:48
—–
回答1:
リスト内の最初に出てきた要素を削除するには、単に list.remove
でいける:'a', 'b', 'c', 'd'] a = ['b') a.remove(print a['a', 'c', 'd']
マッチする要素全部を削除しないことに注意。リストの内包表記を使う必要がある。1, 2, 3, 4, 2, 3, 4, 2, 7, 2] a = [for x in a if x != 2] a = [x print a[1, 3, 4, 3, 4, 7]
By Johannes Charra | 回答日時: 2010年5月8日 7:56
—–
回答2:
普通Pythonは実行できない何かをするように指示すると、Exceptionを投げる。だから、下記のうちどっちかをやらないといけないよ:
|
または
|
An Exception isn’t necessarily a bad thing as long as it’s one you’re expecting and handle properly.
例外は、それが君がしたいしているもので、かつ適切に処理されるなら必ずしも悪いことじゃないよ。
By Dave Webb | 回答日時: 2010年5月8日 8:02
—–
回答3:
|
でもこれだと、リストを6回検索する必要があるから、try-exceptだともっと早くなると思う
|
By YOU | 回答日時: 2010年5月8日 7:57
—–
回答4:
こういうリストがあるとする:
|
マッチする全ての要素を取り出すには、pythonだとfilter関数を使用できるよ。例えばこんな感じ、
|
だから、a!=2
であるような要素は全てキープされる。
1つだけ取り除くような場合は
|
By mathwizurd | 回答日時: 2014年8月11日 19:55
—–
回答5:
新しいリストとかを使わずにインプレースでやる方法(内包表記無し):
|
By jfs | 回答日時: 2010年5月8日 14:57
—–
Source: Is there a simple way to delete a list element by value?