Python 文法・関数

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

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

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

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

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

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

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

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

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


本ブログを運営しているTech Teacherは、業界初のプログラミング家庭教師サービスを提供しています。

その特徴は完全マンツーマン・フルオーダーメイド指導・30分ごとの利用が可能であるところです。

完全マンツーマン

Tech Teacherのマンツーマン指導なら理解できない箇所は何度も分かるまで説明を受けることができます。

フルオーダーメイド指導

Tech Teacherではあらかじめ決められたカリキュラムはありません。そのためご自身の学習状況や学びたいことに合わせた指導が可能です。

一括支払いなし

一般的なプログラミングスクールの料金体制はカリキュラムに対して一括払いですが、Tech Teacherでは利用した分だけの支払いとなります。そのため、大きな費用負担がなく気軽に始めることができます。

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)

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

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

「Tech Teacherで!~家庭教師ならではの3つの魅力~」

本Blogを運営するプログラミング家庭教師Tech Teacherは以下のような疑問をすべて解決できるサービスです。

・Pythonの応用をもっと学びたいが、値段が高いスクールに通うのは気が引ける

・目的別に短時間の利用ができるサービスがあったらいいな

比較対象 Tech Teacher プログラミングスクールA社
受講形態
1対1

1対3~5
担当教師
担任教師
×
講座別の講師
カリキュラム
自分専用指導

全員指導
仕事・学業との両立
可能
×
不可能
メンター制度
担任教師

異なる担当
料金
授業分だけ
×
一括払い
初期費用
入会金
22,000円
×
一括払い
528,000円
シミュレーション
(3ヶ月90分の指導を週1で行う)

164,500円
×
528,000円

以下、Tech Teacherの3つの魅力を紹介します。

Pythonをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

1.効率的な学習スタイル

一人のためだけの指導~1対1の完全個別指導~

一般的なプログラミングスクールでは大人数の対面講義や、録画講義の視聴またはオンラインでの受講がメインです。そうなると学習しながら生じた疑問をすぐに聞くことができずに、先に進んでしまい内容をうまく理解できなかったり、作業がうまく進まなかったりします。

家庭教師であれば、マンツーマンのため自分の課題にだけ焦点を当てて指導を受けられるので、1回の授業を濃い時間にすることができます。

無駄のない学習~フルオーダーメイド~

Tech Teacherは一般的なプログラミングスクールと異なり、あらかじめ決められたコースやカリキュラム設定がありません。
一般的なプログラミングスクールのカリキュラムでは、自分が本当に学習したいことを学ぶのにいくつか他の講義を受けなければなりません

Tech Teacherでは生徒様の現状の習熟度・目的・期間に応じてお悩みにダイレクトに刺さる授業を展開し、最短で目標となるゴールを目指せます。

2.自分のペースで学習できる

必要な分だけ~従量課金モデル~

Tech Teacherでは、他にはない「短時間(30分ごと)」の利用が可能です!勉強していてちょっとわからないところ、プログラミング学習のモチベーション維持など様々な疑問や悩みを解決することができます。
授業を受けた分だけ後払いする料金体系(3,960円〜 / 30分)のため、必要な期間に必要な分だけ受講できます。

好きな時間で~相性のいい教師の紹介~

Tech Teacherではあらゆるニーズに対応できる教師陣がいるため、生徒様の希望条件に最適な教師を紹介します。

Tech Teacherを受講している方のほとんどが仕事をしている社会人の方です。TechTeacherの家庭教師なら受講日時や回数を、生徒様のご都合に合わせて柔軟に調整することができ、スキルだけでなく都合の良い時間で指導できる教師を選べます。

3.確実に身につく

挫折しない~担任教師の継続指導~

オンライン・オンデマンドの講義の視聴形態だと、学習に対するモチベーションの維持が課題となり、当初の予定よりも受講期間が伸びたり、挫折したりする恐れがあります。

Tech Teacherでは、担任教師が生徒と二人三脚で学習をするため、学習が大変なときも寄り添ったサポートを受けられます。

具体的には学習計画の管理や受講目的を明確にした上で中間目標を設定し、それに向けた学習の指導をすることでモチベーションの維持を図ります。

いつでも質問できる~チャットサポート(オプション)~

担当教師は授業の時間以外に、チャットサービスを利用して、自分で学習しているときに生じた疑問をすぐに質問して解決することができます。

Javaをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

Tech Teacherへのお問い合わせ

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

まとめ

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

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

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

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