【python/データ構造】複数のデータを格納できるリストの使い方を徹底解説!

python

この記事でははリストの使い方を解説します。

この記事で学べる事

  • リストとは
  • リストの作成方法
  • リストの中から特定の値を取り出す方法
  • リストの代入
  • リストの要素の追加
  • リストの要素の削除

以下は広告です。

リストとは

リストとは複数のデータを格納する機能の事を言います。

リストはデータ構造の中で最も多く使う機会多いものです。

リストはあらゆるデータを格納することができるのでどのデータ構造を使おうか迷ったらリストを使うことをお勧めします。

リストの作成方法

リストの作成する方法は[](角括弧)の中に値を入れカンマ(,)値を区切って作成します。

#リストの作成
[値,値, …] ←【値が2個以上の時】
[値] ←【値が1個の時】
[] ←【値が0個(空のリスト)の時】

このようにしてリストを作成します。

次にリストの例題を書いてみます。

例題では変数(fruits)にリストを代入して使います。

変数について知りたい方は以下の記事をご覧ください。

【初心者必見/基本的な文法2】変数を徹底解説!

リスト(変数fruits)に’apple’と’banana’を格納してみます。

#例題
>>>fruits = ['apple', 'banana']
>>>print(fruits)
#表示結果
['apple', 'banana']

上手く、リスト(fruits)の中に’apple’と’banana’を格納することが出来ました。

このようにして、リストを作成します。

list関数

次にlist(リスト)関数について解説して行きます。

list関数は関数を使いリストを作成できる機能の事です。

また、list関数を使うとイテラブルからリストを作成することが出来ます。

#list関数の作成
list(イテラブル)

このようにしてlist関数は作成することができます。

次はlist関数の例題を書いてみます。

リストに’abc’を格納してみます。

[](角括弧)を使いa~cまで並べても作成できますが、イテラブルを格納する場合はlist関数を使い文字列とlist関数を組み合わせて格納するほうが簡単に作成することが出来ます。

#例題
>>>print(list('abc')) ←【list関数を使用】
>>>print(['a', 'b', 'c']) ←【角括弧を使用】
#表示結果
['a', 'b', 'c']
['a', 'b', 'c']

上の例題のようにイテラブルを格納するときはlist関数を使うと良いと思います。

以下は広告です。

リストの中から特定の値を取り出す方法

特定の値を取り出すにはインデックスを使う方法スライスを使う方法の2種類の方法があるので、一つずつ解説して行きます。

インデックスとスライスについて知りたい方は以下の記事をご覧ください。

【初心者必見/基本的な文法4】文字列を徹底解説!

以下は広告です。

インデックスを使う方法

まずはインデックスを使う方法を解説します。

リストにインデックスを使うと特定の要素を取り出すことが出来ます。

#インデックスを使う方法
リスト[インデックス]

このようにして、リストにインデックスを使うことが出来ます。

次に例題を書いてみます。

変数fruitsの中から’apple’だけを取り出してみます。

#例題
>>>fruits = ['apple', 'banana']
>>>print(fruits[0])
#表示結果
'apple'

‘apple’だけを取り出すことが出来ました。

スライスを使う方法

次はスライスを使う方法を解説します。

リストにスライスを使うとリストの一部を取り出すことが出来ます。

#スライスを使う方法
リスト[開始インデックス:終了インデックス]
リスト[開始インデックス:終了インデックス:ストライド]

このようにしてリストにスライスを使うことが出来ます。

次に例題を書いてみます。

変数fruitsの中から’apple’と’banana’を取り出してみます。

#例題
>>>fruits = ['apple', 'banana', 'orange']
>>>print(fruits[0:2])
#表示結果
['apple', 'banana']

スライスを使ってappleとbananaを取り出すことが出来ました。

以下は広告です。

特定の値を変更する方法

リストの特定の値を変更する方法は2種類あります。

一つずつ解説して行きます。

一つ目はインデックスを使い1つの値を変更する方法、二つ目はスライスを使い複数の値を変更する方法です。

インデックスを使い値を変更する方法

まずはインデックスを使う方法を解説します。

#インデックスを使い値を変更する方法
リスト[インデックス] = 式

このようにして値を変更します。

次にインデックスを使う方法の例題を書いてみます。

変数fruitsの’apple’を’orange’に変更してみます。

#例題
>>>fruits = ['apple', 'banana']
>>>fruits[0] = 'orange'
>>>print(fruits)
#表示結果
['orange', 'banana']

インデックスを使って’apple’を’orange’に変更することが出来ました。

スライスを使い値を変更する方法

次はスライスを使う方法を解説します。

#スライスを使い値を変更する方法
リスト[開始インデックス:終了インデックス] = イテラブル
リスト[開始インデックス:終了インデックス:ストライド] = イテラブル

このようにしてスライスを使って値を変更します。

次は例題を書いてみます。

変数fruitsの’apple’と’banana’を’grape’と’mango’に変更します。

#例題
>>>fruits = ['apple', 'banana', 'orange']
>>>fruits[0:2] = 'grape', 'mango'
>>>print(fruits)
#表示結果
['grape', 'mango', 'orange']

スライスを使って’apple’と’banana’が’grape’と’mango’に変更されました。

リストの代入

次にリストの代入について解説します。

変数に代入されたリストを他の変数に代入するには注意が必要です。

なぜなら代入の方法に応じて複数の変数が同じリストを作る場合リストのコピーを作る場合があるからです。

一つずつ解説して行きます。

複数の変数が同じリストを表示させてしまう場合

まず複数の変数が同じリストを表示させてしまう場合の解説をします。

複数の変数が同じリストを表示させてしまう場合の例題を書いてみます。

まず初めに変数xに’a’, ‘b’, ‘c’, ‘d’を代入します。

#例題①
>>>x = ['a', 'b', 'c', 'd']
>>>print(x)
#表示結果
['a', 'b', 'c', 'd']

次に変数yに変数xを代入します。

#例題②(上の例題の続き)
>>>y = x   ←【変数yにxを代入】
>>>print(y)
#表示結果
['a', 'b', 'c', 'd']

そしたら、変数yの中にある’a’を’z’に変更します。

#例題③(上の例題の続き)
>>>y[0] = 'z' ←【変数yのaをzに変更】
>>>print(y)
#表示結果
['z', 'b', 'c', 'd'] ←【変更が完了】

変数yの変更が完了したら最初の変数xを表示してみてください。

#例題④(上の例題の続き)
>>>print(x)  ←【変数xを表示するとaがzに変更されている】
#表示結果
['z', 'b', 'c', 'd'] 

変数xも’a’が’z’に変更されています。

このように複数の変数が同じリストを表示させてしまいます。

複数の変数が同じリストを表示させる事が目的ならこの方法を使いましょう。

リストのコピー

次にリストのコピーのやり方を解説します。

リストのコピーでは各変数が別のリストを表示してくれます。

リストのコピーではcoppyメソッドか、もしくはスライスを使います。

#coppyメソッドを使う方法
変数 = リスト.copy()
#スライスを使う方法
変数 = リスト[:]

リストをコピーしたい時はcoppyメソッドかスライスの好きなほうを使うといいでしょう

試しにスライスの例題を書いてみます。

まず初めに変数xに’a’, ‘b’, ‘c’, ‘d’を代入します。

#例題①
>>>x = ['a', 'b', 'c', 'd']
>>>print(x)
#表示結果
['a', 'b', 'c', 'd']

次にリストのコピーを取ります。

#例題②(上の例題の続き)
>>>y = x[:] ←【リストのコピー(スライス)】
>>>print(y)
#表示結果
['a', 'b', 'c', 'd']

次は変数yの’a’を’z’に変更します。

#例題③(上の例題の続き)
>>>y[0] = 'z' ←【aをzに変更】
>>>print(y)
#表示結果
['z', 'b', 'c', 'd'] ←【変更が完了】

変更が完了したら変数xを表示してみてください。

#例題④(上の例題の続き)
>>>print(x)
#表示結果
['a', 'b', 'c', 'd'] ←【リストのコピーならxは変更されない】

このように、リストのコピーなら始めの変数xは変更されません。

各変数に別のリストを表示させたい場合はリストのコピーを使うといいと思います。

リストの要素を追加

次はリストの要素を追加する方法を解説します。

リストの要素を追加する方法は4つあります。

appendメソッド・累算代入文・extendメソッド・スライスの4つを一つ一つ解説しています。

スライスについて知りたい場合は以下の記事を参考にしてください。

【初心者必見/基本的な文法4】文字列を徹底解説!

appendメソッド

まずは、appendメソッドを解説します。

#appendメソッドの使い方
リスト.append(値)

次は例題を書いてみます。

appendメソッドを使い変数fruitsに’apple’を追加してみます。

#例題
>>>fruits = []
>>>fruits.append('apple')
>>>print(fruits)
#表示結果
['apple']

appendメソッドを使い’apple’を追加することが出来ました。

累算代入文

次は累算代入文を解説します。

#累算代入文の使い方
リスト += [イテラブル]

次は例題を書いてみます。

累算代入文を使い変数fruitsに’apple’を追加してみます。

#例題
>>>fruits = []
>>>fruits += ['apple']
>>>print(fruits)
#表示結果
['apple']

累算代入文を使い’apple’を追加することが出来ました。

extendメソッド

次にextendメソッドを解説します。

#extendメソッドの使い方
リスト.extend(イテラブル)

次は例題を書いてみます。

extendメソッドを使い変数fruitsに’apple’を追加してみます。

#例題
>>>fruits = []
>>>fruits.extend(['apple'])
>>>print(fruits)
#表示結果
['apple']

extendメソッドを使い’apple’を追加することが出来ました。

スライス

最後にスライスを解説します。

#スライスの使い方
リスト[len(リスト):] = イテラブル

次に例題を書いてみます。

スライスを使い変数fruitsに’apple’を追加してみます。

#例題
>>>fruits = []
>>>fruits[len(fruits):] = ['apple']
>>>print(fruits)
#表示結果
['apple']

スライスを使い’apple’を追加することが出来ました。

このように4つの方法でリストを追加することができます。

リストの要素の削除

次にリストの要素の削除について解説します。

リストの要素を削除するにはdel文popメソッドremoveメソッドを使います。

また、リストの要素を全て削除するclearメソッドも解説します。

del文とpopメソッドではインデックスを使います。

インデックスについて知りたい方は以下の記事をご覧ください。

【初心者必見/基本的な文法4】文字列を徹底解説!

del文

まずはdel文について解説します。

#del文の使い方
del リスト[インデックス]

次は例題を書いてみます。

del文を使い変数fruitsから’apple’を削除してみます。

#例題
>>>fruits = ['apple', 'banana']
>>>del fruits[0]
>>>print(fruits)
#表示結果
['banana']

del文を使い’apple’を削除することが出来ました。

popメソッド

次はpopメソッドを解説します。

#popメソッドの使い方
リスト.pop(インデックス)

次は例題を書いてみます。

popメソッドを使い変数fruitsから’apple’を削除してみます。

#例題
>>>fruits = ['apple', 'banana']
>>>fruits.pop(0)
>>>print(fruits)
#表示結果
['banana']

popメソッドを使い’apple’を削除することが出来ました。

このようにdel文とpopメソッドを使用するとリストの要素を削除することができます。

removeメソッド

次に値を指定してリストの要素を削除するremoveメソッドを解説します。

指定した値がない場合はerrorが出ます。

#removeメソッドの使い方
リスト.remove(値)

次は例題を書いてみます。

removeメソッドを使い変数fruitsから’apple’を削除してみます。

#例題
>>>fruits = ['apple', 'banana']
>>>fruits.remove('apple')
>>>print(fruits)
#表示結果
['banana']

removeメソッドを使い’apple’を削除することが出来ました。

clearメソッド

最後にリストの要素を全て削除するclearメソッドを解説します。

#clearメソッド使い方
リスト.clear()

次は例題を書いてみます。

clearメソッドを使い変数fruitsから’apple’を削除してみます。

#例題
>>>fruits = ['apple', 'banana']
>>>fruits.clear()
>>>print(fruits)
#表示結果
[]

リストから全ての要素を削除することが出来ました。

このように、リストの要素の削除にもいろんな方法があるのでその場に合わせて使い分けるといいと思います。

便利なリストの操作

最後に便利なリストの操作について解説します。

len関数

len関数について解説します。

リストにlen関数を適用すると、リストの要素の数を表示してくれます。

#len関数の使い方
len(リスト)

実際にlen関数を使ってみます。

例題としてリストに中にある要素をlen関数で表示してみます。

#例題
>>>fruits = ['apple', 'banana', 'orange']
>>>print(len(fruits))
#表示結果
3

リストの中の要素を表示することが出来ました。

まとめ

リストはデータ構造の中で最も使う機会が多い機能です。

この記事でしっかりと覚えて置けばこの先のpythonで必ず役に立つと思います。

最後まで読んでいただきありがとうございました。

タイトルとURLをコピーしました