Pythonのシーケンス型の演算子の使い方【初心者向け】

初心者向けにPythonのシーケンス型の演算子の使い方について解説しています。シーケンス型とはリストや文字列のような順番のある要素の集まりを指します。要素の操作を行うスライスについてサンプルを見ながら学習しましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Pythonのシーケンス型の演算子の使い方について解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

シーケンス型の演算子の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

シーケンス型とは

シーケンス型とは、複数の要素をまとめて扱える型のことです。一般的にプログラミング言語では「配列」とも言います。 Python では以下のシーケンス型が用意されています。

  • リスト(list)
  • タプル(tuple)
  • レンジ(range)
  • 文字列(string)

シーケンスは以下のようなイメージです。

これを Python のプログラムで表現すると以下のようになります。sという変数がシーケンス型になります。

s = "Pythonの世界へようこそ"

シーケンス型については公式ドキュメントも参考にしてください。

タプルとシーケンス

テキストシーケンス型

 

シーケンス型の演算子の使い方

シーケンス型には要素を抜き出したり置換したりする「スライス」という機能が用意されています。スライスの指定の方法は以下の通りです。

s[開始: 終了: ステップ]

開始、終了、ステップのいずれも省略できます。全てを省略することはできません。開始、終了、ステップにはマイナスの値を指定することができます。マイナスは後方から指定するという意味になります。

マイナスの指定はややこしいので、分からなくなったら下の図を参考にしてください。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

実際に書いてみよう

今回のサンプルプログラムでは、リストをもとに、スライスの方法を確認します。実行は Python インタプリタで行います。はじめにもととなるリストを用意します。

s = list("Pythonの世界へようこそ")
print(s)

実行結果は以下のようになります。

['P', 'y', 't', 'h', 'o', 'n', 'の', '世', '界', 'へ', 'よ', 'う', 'こ', 'そ']

それでは、1つの要素を抜き出してみましょう。1つの要素を抜き出すには開始のみを指定します。

print(s[3])
print(s[-2]) # マイナスで指定

実行結果は以下のようになります。マイナスは後方から指定するという意味でしたね。

h
こ

次に複数の要素を抜き出してみましょう。複数の要素を抜き出すには開始と終了、または終了のみを指定します。

print(s[3:5])
print(s[-5:-2]) # マイナスで指定
print(s[:-10])  # 終了のみを指定

実行結果は以下のようになります。

['h', 'o']
['へ', 'よ', 'う']
['P', 'y', 't', 'h']

この時の注意点としては、要素の前後を正しく指定することです。後方からの指定であっても「開始≦終了」となるように指定します。例えば以下は「開始>終了」となった誤った例です。

print(s[-2:-5])

実行結果は以下のようになります。該当する要素が無い場合は空のシーケンスが返ります。

[]

最後にステップを指定してみましょう。

print(s[1:10:2])
print(s[::3])  # 開始と終了を省略
print(s[::-1]) # 開始と終了を省略しマイナスを指定

実行結果は以下のようになります。3つ目の開始と終了を省略しマイナスを指定するとシーケンスが反転します。よく使う方法ですので覚えておきましょう。

['y', 'h', 'n', '世', 'へ']
['P', 'h', 'の', 'へ', 'こ']
['そ', 'こ', 'う', 'よ', 'へ', '界', '世', 'の', 'n', 'o', 'h', 't', 'y', 'P']

 

この記事を監修してくれた方

太田和樹(おおたかずき)
ITベンチャー企業のPM兼エンジニア

普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。

開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント

地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。