Python

【初心者向け】Pythonのリストを解説!データの追加方法や並び替え方がわかる!

「Pythonのリストの使い方がわからない。誰か詳しく使い方を教えてほしい」

本記事ではこのような悩みを解決します。

Pythonのリストは初心者の方がつまずきがちなポイントの1つです。

「リストにデータを追加するにはどうすればいいの?」
「データの並び替え方がわからない」

など、難しいポイントはいくつもあるでしょう。

Pythonでwebアプリを作ることを目標にするなら、リストはしっかり理解しておきたいところです。リストを理解しておくと複数のデータを一度に扱えるようになり、できることの幅が広がりますよ。

そこで本記事ではPythonのリストの使い方を網羅的に解説しました。リストに要素を追加する方法や、削除する方法など、リストに関することは一通りまとめてあります。

Python初心者の方は、ぜひ本記事を活用してリストをマスターしてしまいましょう!

Pythonにおけるリストとは

まずは「そもそもリストってなに?」という疑問にお答えしていきます。
Pythonにおけるリストとはなんなのかを初心者でもわかるようにまとめました。

リストとは

リストとは「複数のデータをひとまとめにしたもの」を指します。

通常Pythonで1つのデータを管理するときには次のように変数を宣言しますよね。

num = 1

このように「1つの変数に1つのデータ」を格納します。

それでは、データがたくさんあったらどうでしょうか?

num1 = 1
num2 = 2
num3 = 3
num4 = 4
num5 = 5
num6 = 6
num7 = 7
num8 = 8
num9 = 9
num10 = 10

このように、たくさんのデータを扱う場合には大量に変数を用意しないといけません。これだと管理が大変になってしまいます。
たとえば、すべての数字データの後ろに「円」と単位ををつけたい場合、10個すべての変数を読み込まないといけません。

そこで登場するのが「リスト」です。
リストを使うと1つの変数に複数のデータを格納することができます。

num = [1,2,3,4,5,6,7,8,9,10]

このように角カッコの中にカンマ区切りでデータをまとめて「リスト化」することができます。ここではリスト化した1つのデータをnumという1つの変数に格納しています。

こうすることで、numという1つの変数のみを操作するだけで、リストの中に入った10個のデータにまとめてアクセスすることができます。

これがリストの役割となります。
リストがとても便利なものだとわかって頂けたでしょうか?

リストの実践方法・具体例

さて、リストの使い方がわかったところで、リストの実際の使い方を勉強していきましょう。
リストの作成方法や、リストにデータを追加する方法などをまとめました。それぞれサンプルコードも紹介したので、実際にコードを実行しながら覚えていってくださいね。

リストの作成

まずはリストの作り方を解説します。といっても、リストの作り方は非常に簡単です。

基本的には角カッコの中にカンマ区切りで複数のデータを入れるだけです。

num = [1, 2, 3]

リストには文字列を入れることも可能です。

str = [”python”, “php”, “ruby”]

1つのリストに数値と文字列をどちらも入れることも可能です。

data = [1, “python”, “ruby”]

リストの基本的な作り方はこれだけです。

次にリストを「print」で出力してみましょう。

num = [1, 2, 3]
print(num)

◯実行結果

Documents $ 1python test.py
[1, 2, 3]
Documents $ 1

このように、リスト変数名をそのままprint関数の引数に渡せば出力できます。

リストに格納されたデータのうち、1つだけを出力させるには次のようにします。

num = [1, 2, 3]
print(num[1])

◯実行結果

Documents $ 1python test.py
2
Dovuments $ 1

このようにデータ番号を指定すればその番号に対応するデータが出力されます。
上記の例ではデータ番号に「1」を指定したので、1番目のデータである「2」が出力されました。

「1番目のデータは『1』じゃないの?」と思うかもしれません。しかし、pythonではデータは0番目からカウントするルールとなっているのです。だから、1番目のデータは2となり、0番目のデータが1となります。

また、リストのデータを1つずつすべて出力したい場合はforループを使うのが便利です。

num=[1, 2, 3]

for n in num:
print(n)

◯実行結果

Documents $ 1python test.py
1
2
3
Documents $ 1

numのデータを1つずつ変数nに渡し、出力させています。

リストの出力方法は以上となります。

要素の追加

リストに要素を追加するには「append」を使いましょう。

list = [”田中”, “佐藤”, “木村”]
list.append(“工藤”)
print(list)

◯実行結果

Documents $ 1python test.py
[’田中’, ‘佐藤’, ‘木村’, ‘工藤’]
Documents $ 1

上記のコードでは、「田中、佐藤、木村」というリストに新しい要素「工藤」を追加しています。

このようにappendメソッドを使うとリストの末尾にデータを追加することができます。

要素の削除

リストに不要なデータがあったときにリストを一度消して作り直すのは非効率的です。

こうした場合にはpopメソッドを使ってリストから消したい要素のみを削除しましょう。

list = [”田中”, “佐藤”, “木村”]
list.pop(0)
print(list)

◯実行結果

Documents $ 1python test.py
[’佐藤’, ‘木村’]
Documents $ 1

上記のコードではリストの0番目のデータである「田中」が削除されています。

popメソッドの引数に消したい要素のデータ番号を入れることで、その番号のデータを消せるのです。pop(1)とすれば「佐藤」が消せますし、pop(2)とすれば「木村」が消せます。

リスト内のデータをまるごと消したい場合には、clearメソッドを使うのが便利です。

list = [”田中”, “佐藤”, “木村”]
list.clear()
print(list)

◯実行結果

Documents $ 1python test.py
[]
Documents $ 1

これでリスト内のデータをすべて削除することができました。

リストから特定の要素を消したい場合はpopメソッド、リスト内の要素ををまるごと消したい場合はclearメソッドを使いましょう。

リストの結合

複数のリストを結合させたい場合には、「extend」を使うのが便利です。

list1 = [”田中”, “佐藤”, “木村”]
list2 = [”高橋”, “中村”, “池田”]
list1.extend(list2)
print(list1)

◯実行結果

Documents $ 1python test.p
[’田中’, ‘佐藤’, ‘木村’, ‘高橋’, ‘中村’, ‘池田’]
Documents $ 1

extendメソッドを使って、2つのリストを結合させています。基本的にはこのやり方で問題ありません。

ただ、extendメソッドでは2つのリストは結合できますが、3つ以上のリストは結合できません。3つ以上のリストを結合させるには、「+」を使いましょう。

list1 = [”田中”, “佐藤”, “木村”]
list2 = [”高橋”, “中村”, “池田”]
list3 = [”山田”]
list = list1 + list2 + list3
print(list)

◯実行結果

Documents $ 1python test.py
[’田中’, ‘佐藤’, ‘木村’, ‘高橋’, ‘中村’, ‘池田’, ‘山田’]
Documents $ 1

これで3つのリストを結合させることができました。

extendメソッドを使った方が処理効率は良いので、2つの場合にはextendメソッドを使いましょう。

リストのソート

リスト内の要素をソートさせるには次のように「sorted」関数を使うのが便利です。

list = [4, 5, 1, 2, 6]
list_new = sorted(list)
print(list_new)

◯実行結果

Documents $ 1python test.py
[1, 2, 4, 5, 6]
Documents $ 1

これで順番がバラバラだったリストの要素を、昇順に並べ替えることができました。

リストの要素数カウント

リストの要素数をカウントするには、「len」関数を使うのが便利です。

len関数は文字列の長さを数えるためにも使うことができますが、リストの要素数を数えるときにも使えます。

list =  [”田中”, “佐藤”, “木村”]
print(len(list))

◯実行結果

Documents $ 1python test.py
3
Documents $ 1

これでリストの要素数である「3」を取得することができました。

 

リスト内包表記

リストには「内包表記」という書き方があります。

内包表記で書くと、プログラムのコード量を減らし、すっきりとして見た目にすることができます。

内包表記は次のように書きます。

[式 for 変数 in range関数]

要するに、内包表記とは「リストの中にfor文を組み込む」書き方です。

具体的には以下のように書きます。

num = [i for i in range(1, 10)]
print(num)

◯実行結果

Documents $ 1python test.py
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Documents $ 1

こうすることで、1から9までの数字を出力させることができました。

これが内包表記と呼ばれる書き方です。内包表記を使わない場合には次のように書かないといけません。

num = []
for i in range(1, 10):
num.append(i)
print(num)

内包表記を使うことで簡潔にコードが記述できたことがわかっていただけるでしょうか?

リストにはこのような書き方をあるので覚えておくと便利ですよ!

まとめ

本記事ではリストの書き方および操作方法について解説しました。リストの基本的な使い方がおわかりいただけたでしょうか?

リストを使えるようになると、たくさんのデータを一度に扱えるようになります。

webアプリを作る上でもリストの知識は重要なので、しっかりマスターするようにしましょう。

本記事がpython初心者にとって有意義なものとなれば幸いです。

プログラミングの家庭教師『Tech Teacher』


引用元:Tech Teacher

「スクールに通い続ける自信がない…」
「時間がなくてスクールに通えない…」

そんな方にはプログラミングの家庭教師『Tech Teacher』がおすすめです。
Tech Teacherはマンツーマン指導なので、生徒様一人ひとりに最適な指導を行うことができます。また、オンライン指導も可能なので、全国どこにいても家庭教師の授業を受けることができます。

Tech Teacherの3つの特徴


生徒様に最適化されたマンツーマン指導
完全マンツーマンの指導なので、生徒様の目的・学習状況・ご要望に合わせて、最適な指導をご提供いたします。

指導力・人柄・相性の優れた教師のご紹介
Tech Teacherには採用率20%の選考を突破した、指導力の高い教師が在籍しています。また、選考では指導力だけではなく人柄も重視しております。

1,000人の教師が在籍!幅広い指導に対応可能
業界トップレベルの1,000人の教師が在籍しています。そのため、幅広い言語・ツール・目的に対応することができます。

家庭教師ならではの5つの魅力


オーダーメイドのカリキュラム
生徒様一人ひとりに習熟度・目的・期間に応じて最適なカリキュラムを提供いたします。

きめ細やかなフォローが可能
生徒様からのご要望にきめ細やかに対応し、学習計画や勉強法などの指導もできるので、普段の勉強も捗ります。

習い事・学業・お仕事との両立が簡単
教室に通う必要がないので親御様の送迎も不要です。授業時間・頻度を生徒様のご都合に合わせて自由に調節することができます。

自分のペースで進められる
生徒様の理解度や意欲に応じて授業のスピードを調節できます。不明点や疑問点は都度立ち止まって解消できるので、着実に理解して進むことができます。

すぐ質問できるから挫折しない
先生を独り占めできるので、周りの目を気にすることなく分からないところをいつでも質問できます。

Tech Teacherへのお問い合わせ

無料体験授業・資料請求のお問い合わせはこちらから

質問のみのお問い合わせも受け付けております。