初心者の独学でのプログラミング学習はとてもツライ…
プログラミングをマスターしたい!
今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。でも、いざ初心者がプログラミングをマスターしようとすると…
- 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
- プログラミングスクールに定期的に通うのは面倒だ
- 地方に住んでると家の近くにプログラミングスクールなんてない
- どのプログラミング言語を学べばいいのか悩む
- 実際の就職や転職にプログラミングが活かせるのか心配だ
など、プログラミングを自分で勉強しようとすると悩みが尽きません。
プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。
そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。
リストは角括弧[]で要素を囲んで作成することができました。
インデックスを使って取り出したり、スライスしたりすることもできました。
当然、それ以外にもいろんな処理を行いたいわけですが、リストにも様々なメソッドが用意されています。
ここではリストのメソッドについて扱っていきましょう。
Pythonでのリストのメソッドいろいろ
Pythonでのリストのメソッドを全部触れるのはもちろん無理ですが、よく利用されるメソッドをいくつか見ていきたいと思います。
append()で末尾に要素を追加する
リストに要素を加える方法として、append()があります。これを利用することで、リストの末尾に要素をひとつずつ加えていくことができます。
リスト.append(追加したい要素)という形で利用します。
次のコードを例に見ていきましょう。
1 2 |
lang = ["C", "C++", "Java", "PHP", "Ruby"] lang.append("python") |
langという変数のリストに、「Python」という文字列を末尾に追加するコードです。
対話型シェルで実行するとこうなります。
リストの最後に「Python」が追加されて出力されているのがわかります。
extend()でリストを結合する
ふたつのリストを結合したい場合は、extend()を使います。
リスト.extend(加えたりリスト)という形で利用します。
ふたつのリストを用意して、extend()で結合するコードを書いてみるとこうなります。
1 2 3 |
l = [1, 2, 3] m = [10, 20, 30] l.extend(m) |
これは、リスト「l」にリスト「m」を結合するコードです。
対話型シェルで実行してみましょう。
リストに要素がまとめて加えられているのがわかりますね。
「+=」を使う
このコードは以下のように「+=」を使って書き換えることもできます。
1 2 3 |
l = [1, 2, 3] m = [10, 20, 30] l += m |
実行結果も同じになるはずです。
append()との違い
この結合を次のコードのようにappend()を使って実行してみると、どうなるでしょうか。
1 2 3 |
l = [1, 2, 3] m = [10, 20, 30] l.append(m) |
実行するとこうなります。
extend()との違いがわかるでしょうか? こちらは要素がそれぞれ追加されるのではなく、リストそのものが要素として末尾に加えられています。
この2つの動作の違いも理解しておきましょう。
insert()で要素を追加する
insert()を利用すれば、オフセットを使ってリスト中の指定の位置に要素を追加することができます。
リスト.insert(オフセットの位置, 追加する要素)という形で利用します。
1 2 |
lang = ["C", "C++", "Java", "PHP", "Ruby"] lang.insert(2, "Python") |
langというリストの中の、インデックスで「2」の位置に「Python」という文字列を追加するコードです。
実行すると、このようになります。
リストの3番目(インデックスの2番目)に「Python」が追加されているのがわかります。
remove()で要素を削除する
削除したい要素のインデックスがわからなくても、要素そのものを指定してリストから削除することもできます。それにはremove()を利用すれば可能です。
リスト.remove(削除したい要素)という形で利用します。
insert()で実行した結果を使ってみましょう。追加した「Python」の文字列を指定して削除してみます。
1 |
lang.remove("Python") |
先ほどの結果に続けて実行してみると、こうなります。
insert()で追加した「Python」が、リストから削除されているのがわかりますね。
pop()で要素を取り出し削除する
remove()は要素を指定しての削除でしたが、pop()を使えばインデックスを指定して要素を取り出し削除することができます。
リスト.pop(削除したい要素のインデックス)の形で利用します。インデックスを指定しない場合は、リストの末尾の要素が削除されます。
コードでためしてみましょう。
1 2 |
num_str = ["one", "two", "tree", "four", "five"] num_str.pop(2) |
インデックス「2」の位置の要素をpop()で削除します。
実行するとこうなります。
削除された要素が表示され、リストを表示すると要素の削除後のリストが表示されます。
続けて、インデックスを指定せずにpop()を実行してみます。
削除された末尾の要素が表示され、リストもそのようになっているのがわかります。これはpop(-1)でやっても同じことを示します。
index()で要素の位置を調べる
リストの中のある要素が、どのオフセット(位置)にあるのかを調べるにはindex()を利用すれば可能です。
リスト.index(要素)の形で使います。
次のコードで試してみましょう。
1 2 |
x = [1, 4, 3, 4, 2, 6, 1, 4, 7, 3, 5, 5, 9] x.index(6) |
xというリストの要素「6」の位置がどこにあるかを調べるコードです。
実行するとこうなります。
インデックス「5」の位置に要素「6」があることがわかりました。
in演算子で要素の有無を調べる
リストの中に要素が入っているかを調べるには、in演算子を利用します。
要素 in リスト、という形で利用し、TrueかFalseを返します。
同じリストで調べてみましょう。
1 2 3 |
x = [1, 4, 3, 4, 2, 6, 1, 4, 7, 3, 5, 5, 9] 7 in x 8 in x |
リストの中に7が入っているかどうか、8が入っているかどうかを調べるコードです。
実行してみるとこうなります。
7はTrueを返しているのでこのリストの中にあることを示しています。8はFalseなのでリストの中にはありません。
sort()、reverse()で並び替える
今度はリストの要素を並び替えてみましょう。sort()で昇順になります。reverse()は逆ですね。
リスト.sort()の形で利用します。逆順にするにはreverse=Trueのオプションをつけるか、reverse()を利用します。
3つ合わせてやってみましょう。
1 2 3 4 |
x = [1, 4, 3, 4, 2, 6, 1, 4, 7, 3, 5, 5, 9] x.sort() x.sort(reverse=True) x.reverse() |
対話型シェルでそれぞれ実行するとこうなります。
それぞれソートされているのがわかりますね。順に上のリストの要素の順番を順に変えているのがわかると思います。これは、sort()を使うと、表示だけ並び替えるというのではなく、リスト自体の要素を並び替えて変更しているということになります。
count()で特定の要素の個数を数える
リスト内に特定のデータがいくつ格納されているか調べるにはcount()を使います。
リスト.count(要素)の形で使います。
こちらの例でやってみましょう。
1 2 |
x = [1, 4, 3, 4, 2, 6, 1, 4, 7, 3, 5, 5, 9] x.count(4) |
リストの中に「4」がいくつあるか計算します。
実行するとこうなります。
リストの中に「4」が3個入っていることがわかりました。
split()で分割、join()で結合
今度は文字列をセパレータで分割してリストに格納し、そのリストから再び文字列に結合するということをやってみます。
文字列.split(“セパレータ”)の形で分割します。
split()で分割して再びjoin()で結合するコードを書いてみます。
1 2 3 4 5 6 7 |
s = "I am playing with Python." s_split = s.split(" ") print(s_split) j = " ".join(s_split) print(j) |
文字列を変数sに代入し、まず、セパレータをスペース(” “)にして分割してリスト化します。それを変数に格納し、再びjoin()で結合しています。
今回はAtomを使って実行してみましょう。ファイル名はlist.pyにしています。
最初に、スペースで区切られた部分で要素に分割されリストに入れられています。これを再び、スペースを使って繋げて表示されているのがわかりますね。
len()で要素数を調べる
リストに含まれている要素の数を数えるにはlen()を使います。
len(リスト)の形で利用します。
実際に数えてみましょう。
1 2 |
x = [1, 4, 3, 4, 2, 6, 1, 4, 7, 3, 5, 5, 9] len(x) |
このコードを実行するとこうなります。
このリストには13個のデータが格納されているのがわかりました。実際に数えても13になりますね。
まとめ
Pythonのリストにも様々なメソッドがあります。
ここではよく見かける代表的なリストメソッドをみてきました。
もちろん他にもたくさんあるので、今後学んで行く中で触れるものがあればその都度マスターしていきましょう。
自宅学習はオンラインプログラミングスクールを活用!
自宅学習にはオンラインプログラミングスクールがおすすめ!
オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。
気になるところは…
学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。
受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。
オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。
また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。
プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。
そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。
TechAcademyはおすすめのオンラインプログラミングスクール!
オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。
オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。
メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。
チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。
プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。
用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。
他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。
このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。
コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。
複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。
無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。