【Python】リストの作成、追加、削除、挿入など

C#では、配列とリストは明確に別物なのですが、Pythonでは配列と言いながらリストの事を指している場合が多いようです。

Pythonには型宣言が無いので、C#で言うところのobjectクラスのリスト(List<object>)にイメージが近く、各要素には、数値や文字列などの、ごちゃまぜもできます。

以下のコード例は、上から順に実行した場合です。

リストの宣言

角カッコ([])で変数がリストである事を宣言します。

list_data = []

リストの初期化

角カッコ([])の中に要素をカンマ(,)で区切って初期化します。
各要素の型はごちゃまぜにできます。

list_data = [0, "abc", 2, 3, "def", 4]
print(list_data)

実行結果

[0, ‘abc’, 2, 3, ‘def’, 4]

要素の追加

append(追加する要素)で、リストの最後に要素が追加されます。

list_data.append(5)
print(list_data)

実行結果

[0, ‘abc’, 2, 3, ‘def’, 4, 5]

リストにリストを追加

元のリスト.extend(追加するリスト)で、元のリストに別のリストを追加し、追加されたリストは元のリストに格納されます

list_data = [0, 'abc', 2, 3, 'def', 4, 5]
list_ext  = ['ghi', 6, 7, 8, 9, 10, 11, 12]
list_data.extend(list_ext)
print(list_data)

実行結果

[0, ‘abc’, 2, 3, ‘def’, 4, 5, ‘ghi’, 6, 7, 8, 9, 10, 11, 12]

指定した要素のindex番号を取得

index(番号を取得する要素)で、要素のindex番号を取得します。
指定した要素が複数ある場合は、最初に見つけた要素のindex番号を取得します。

print(list_data.index('ghi'))

実行結果

7

要素の番号を指定して削除

del リスト[削除するindex番号]で、要素を削除します。

del list_data[list_data.index('ghi')]
print(list_data)

実行結果

[0, ‘abc’, 2, 3, ‘def’, 4, 5, 6, 7, 8, 9, 10, 11, 12]

要素の番号を指定して要素を抜き出す(削除する)

pop(削除する要素のindex番号)で、要素を削除し、削除した要素を返します。

ret = list_data.pop(1)
print(ret)
print(list_data)

実行結果

abc

[0, 2, 3, ‘def’, 4, 5]

要素を指定して削除

remove(削除する要素)で、要素を削除します。
指定した要素が複数ある場合は、最初に見つけた要素を削除します。

list_data.remove("def")
print(list_data)

実行結果

[0, 2, 3, 4, 5]

要素の挿入

insert(挿入する場所のindex番号, 挿入する要素)で、要素を挿入します。

list_data.insert(1, 10)
print(list_data)

実行結果

[0, 10, 2, 3, 4, 5]

要素があるかどうか?

要素 in リストで、要素があれば True、なければ Falseが返ります。

print(10 in list_data)
print(11 in list_data)

実行結果

True
False

要素のindex番号を取得

index(番号を取得する要素)で、要素のindex番号を取得します。
指定した要素が複数ある場合は、最初に見つけた要素のindex番号を取得します。

print(list_data.index(10))

実行結果

1

リストの要素数を取得

len(リスト)で、要素の個数を取得します。

print(len(list_data))

実行結果

6

指定した要素の個数を取得

count(要素)で、リスト中の要素の個数を取得します。

list_data = [0, 1, "abc, 2, 3, "abc", 4, 5]
print(list_data.count("abc"))

実行結果

2

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください