items = ["Apple", "Banana",
"Cherry", "Date", "Elderberry"]
上記のpythonのリストにおいて
添え字ではなく、要素をしていして、
その要素をリストから削除するようなメソッドはないでしょうか?
itemsから"Apple"を削除したいときは
どのような記述になるのでしょうか?
また、添え字を指定しての削除もできるのでしょうか?
↓
Python のリストから **要素を指定して削除** するには、
`remove()` メソッドを使います。
### **要素を指定して削除 (`remove()`)**
```python
items
= ["Apple", "Banana", "",
"Date", "Elderberry"]
# "Apple" をリストから削除
items.remove("Cherry")
# [Apple ,'Banana', 'Cherry', 'Date', 'Elderberry']
print(items)
```
- `remove()` は
**最初に見つかった該当要素** を削除します。
- 存在しない要素を指定するとエラー
(`ValueError`) になります。
---
### **添え字を指定して削除 (`del` または `pop()`)**
**`del` を使う方法**
```python
items
= ["Apple", "Banana", "Cherry",
"Date", "Elderberry"]
# インデックス 0 の要素を削除
del items[0]
# ['Banana', 'Cherry', 'Date', 'Elderberry']
print(items)
```
**`pop()` を使う方法**
```python
items
= ["Apple", "Banana", "Cherry",
"Date", "Elderberry"]
# インデックス 0 の要素を削除し、その値を取得
removed_item = items.pop(0)
# ['Banana', 'Cherry', 'Date', 'Elderberry']
print(items)
# Apple
print(removed_item)
```
- `pop(index)` は、
指定した **添え字の要素を削除し、その値を取得** できます。
- `del` は削除のみ行い、戻り値はありません。
**まとめ**
| メソッド | 指定方法 | 戻り値 | 備考 |
|----------|----------|--------|----------------|
| `remove(value)` | 要素名 | なし | 最初に見つかった該当要素を削除 |
| `del list[index]` | 添え字 | なし | 指定のインデックスの要素を削除 |
| `pop(index)` | 添え字 | 削除した値 | 指定のインデックスの要素を削除して取得 |
要素を指定して削除する場合は `remove()`、
インデックスを指定して削除する場合は
`del` または `pop()` を使いましょう!
コメント
コメントを投稿