Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python入門】リストの先頭と末尾から要素を削除する2つの方法

Pythonでは、リストの先頭(フロント)と末尾(リア)から指定した数の要素を削除したい場面がよくあります。この記事では、代表的な2つの方法——スライス(slicing)delキーワードを使ったアプローチを、具体的なコード例とともに解説します。

方法1:リストのスライスを使う

このアプローチでは、リストの先頭と末尾の両方からスライスを行い、その結果を新しいリストとして保存します。削除する要素数は変数として指定できるため、柔軟に対応できます。

スライス listA[v:-v] を使うことで、「先頭から v 個」と「末尾から v 個」を除外した中間部分だけを取り出せます。

コード例

listA = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']

# 元のリスト
print("Given list : " ,listA)

# 先頭と末尾から削除する要素数
v = 2

new_list = listA[v:-v]

print("New list : ",new_list)

実行結果

上記のコードを実行すると、次のような出力が得られます。

Given list : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
New list : ['Tue', 'Wed', 'Thu']

先頭の「Sun」「Mon」と、末尾の「Fri」「Sat」が削除され、中央の3つの要素だけが新しいリストに格納されていることがわかります。

方法2:delキーワードを使う

このアプローチでは、del キーワードを使用します。まず末尾側に対してスライス付きの del を適用し、次に先頭側にも適用することで、元のリスト自体から要素を直接削除します。

なお、この方法は元のリストを破壊的に変更(in-place)する点が、方法1との大きな違いです。元のリストを保持しておきたい場合は、方法1のように新しいリストを作成する方式を選びましょう。

コード例

listA = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']

# 元のリスト
print("Given list : " ,listA)

# 先頭と末尾から削除する要素数
v = 2

# delとスライスを組み合わせて削除
del listA[-v:], listA[:v]
print("New list : ",listA)

実行結果

上記のコードを実行すると、次のような出力が得られます。

Given list : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
New list : ['Tue', 'Wed', 'Thu']

まとめ

  • スライス方式:元のリストを残しつつ、新しいリストとして結果を取得したい場合に便利。
  • del方式:メモリ効率を重視し、元のリストを直接書き換えたい場合に適している。

用途に応じて使い分けることで、より読みやすく効率的なPythonコードを書くことができます。

  1. Pythonの例外処理入門:try・exceptの基本とよく使われる例外の種類

    Pythonで例外処理(エラーハンドリング)を行うには、まず「except」句を使って例外を捕捉する仕組みを理解する必要があります。Pythonでは、例外をキャッチするために「try」と「except」というキーワードが用意されています。tryブロック内のコードは文ごとに順番に実行されますが、途中で例外が発生すると、残りのtryブロックのコードは実行されず、代わりにexcept節が実行される仕組みです。基本的な構文try: some_statements_here except: exception_handlingシンプルな例まずは非常に簡単な例で構文を確認してみましょう。t

  2. Pythonで配列リスト内の0と1を分離する方法

    リスト内包表記(List Comprehension)はPythonで広く使われている人気のテクニックです。ここでは、この手法を活用して配列内の0と1を分離してみましょう。 まず、ユーザーから入力を受け取って配列を作成します。配列の要素は0と1がランダムな順序で含まれているものとします。そして、0を配列の左側へ、1を右側へと分離させます。 具体的には、配列を走査しながら要素を2つの異なるリストに振り分けます。片方のリストには0だけを、もう片方のリストには1だけを格納し、最後にその2つのリストを連結することで目的の結果を得られます。 実行例 入力: a=[0,1,1,0,0,1] 出力: [0