Python でリストの前に付ける

Syed Moiz Haider 2023年1月30日
  1. Python でリストの前置に insert() メソッドを使用する
  2. Python でリストを前置するには deque.appendleft() メソッドを使用する
  3. Python でリストに追加する新しいリストを作成する
Python でリストの前に付ける

このチュートリアルでは、Python でリストを前置する方法を説明します。また、このチュートリアルでは、リストへの複数の前置方法を説明するためのコード例をいくつか挙げています。

Python でリストの前置に insert() メソッドを使用する

insert() を使用することは、一般的で最もよく使われているアプローチの一つです。insert()list ライブラリで提供されています。list.insert(pos, element) はパラメータとして poselement の 2つの引数を取ります。pos は要素の位置を定義します。

このメソッドを利用するコード例を以下に示します。

lists = ["james", "tim", "jin"]
lists.insert(0, "steve")

print(lists)

出力:

['steve', 'james', 'tim', 'jin']

しかし、list.insert() 操作で消費される時間は少し多めです。時間的なパフォーマンスを向上させるには、collections.deque メソッドを使用することができます。

Python でリストを前置するには deque.appendleft() メソッドを使用する

Python の collections モジュールは複数のデータ構造を提供します。Python 2.4 では、collections にダブルエンドキューである deque() が追加されています。これはコンテナのようなリストで、追加処理やポップアップ処理を効率的に行うことができます。データ構造体 deque には appendleft(element) メソッドがあります。これは要素を受け取り、それをリストの先頭に追加します。

このメソッドのコード例を以下に示します。

import collections

dequeue = collections.deque([5, 2, 6, 8, 1])
print(dequeue)

dequeue.appendleft(10)
print(dequeue)

出力:

deque([5, 2, 6, 8, 1])
deque([10, 5, 2, 6, 8, 1])

Python でリストに追加する新しいリストを作成する

非常に単純で簡単な解決策としては、例えばリストの 0 番目のインデックスに目的の要素 x を持つ新しいリストを作成することができます。もちろん、リストに x を前置するのではなく、リストの最初の位置にすでに x がある状態で新しいリストを作成します。

このアプローチの基本コードを以下に示します。

lists = ["james", "tim", "jin"]
new_list = ["x"] + lists
print(new_list)

出力:

['x', 'james', 'tim', 'jin']

Python でリストを前置するためにリストスライシングを使用する

リストのスライスは、リストに前置するもう一つの方法です。要素に 0 番目 のスライスを代入することで、リストの前に要素が追加されます。

このメソッドのコード例は以下の通りです。

temp_list = [4, 5, 8, 10, 13]

print(temp_list)
temp_list[:0] = [12]

print(temp_list)

出力:

[4, 5, 8, 10, 13]
[12, 4, 5, 8, 10, 13]
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

関連記事 - Python List