• WebCamp_インタビュー
    「自信の持てるスキルを得たい!」内定辞退した女子大生がプログラミングを学習したワケ。
    2018.04.28
  • WebCampPro_インタビュー
    未経験31歳からエンジニア転職を実現【実際に聞いてみた】
    2017.04.01
  • WebCampPro_インタビュー
    未経験から上京し、テレビでも話題のIT企業に転職!【WebCampPro卒業生インタビュー】
    2018.03.10
  • WebCamp_インタビュー
    【卒業生インタビュー】台湾で月間100万UUの訪日旅行メディアを手掛けるCEOが、プログラミングを学んで得たものとは?
    2018.01.15
  • WebCampPro_インタビュー
    未経験でも寿司職人からWebデザイナーになった!ホスピタリティでスクールを支える宮脇トレーナー
    2017.05.26
  • WebCamp_インタビュー
    “未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー
    2017.10.04
  • WebCamp_インタビュー
    時間や場所にとらわれず自由に働くために必要なスキルとは?【WebCamp卒業生インタビュー】
    2018.01.26
  • WebCamp_インタビュー
    【WebCamp受講生インタビュー】起業準備中にCEOが気がついたプログラミングスキルの重要性とは?
    2017.12.25
  • WebCamp_インタビュー
    「1カ月頑張ればこの先が見えてくる」地元メディアを立ち上げたママさん
    2017.07.20
  • WebCampPro_インタビュー
    自分で稼ぐ力をつけるため、新卒5年目の営業マンがエンジニアに転職!【WebCampPro転職者インタビュー】
    2018.02.02
  • WebCamp_インタビュー
    【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
    2018.01.15

▼当サイトで人気のプログラミング教室のおすすめランキングはこちら!
プログラミングは独学では非効率で、時間を無駄にするリスクがあります。効率的なカリキュラムで学べるスクールを受講しましょう。

金王冠Web Camp【業界最安値】1ヶ月集中してプログラミングスキルを身につけられるスクール
1ヶ月通い放題・メンター常駐の教室環境でWebサービス等作りたい方
TechAcademyオンラインで開講しているプログラミングスクール
オンラインでどこでも学べる!/教室に行くのが忙しい人でも安心!
銅王冠Tech Camp業界最大級!教養としてのITスキルを学べるスクール
Webデザイン/AI(人工知能)/IOS/Androidアプリ制作/VRを学びたい方!
びっくりマークWebCampPro転職保証付き!エンジニアとして転職したい人におすすめ!
未経験からプロのエンジニアを3ヶ月で目指すプログラミングスクールです。
7月枠も残りわずか当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
6月受入枠は満員となっております。7月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

【Python】2日間で人工知能(AI)を学習するコースが開校
今回、当社(Web Camp)では、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
Pythonの基本的なプログラミング能力を身につけたい方
機械学習や人工知能に興味はあるがなかなか手を出せない方
上記にあてはまる方は、ぜひご参加ください!

※6月以降の開催につきましては、現在未定となっております。

Pythonを含むプログラミングを行っている時に、活躍するのが文字などを区切る機能です。

文字を区切ると聞くとあまり、イメージがつかない方も多いかもしれません。

今回はPythonで文字を区切る時に使用するスライスについて、基本から実践的な使用例までを徹底解説していきます。

スライスについて

まずはPythonのスライスについて、解説していきます。

スライスでは値を区切って抽出することができます。

スライスで区切る代表的なものは、文字列から一部を取得、配列から要素番号を指定して区切って抽出するなどです。

それではスライスの記述方法などを詳しく解説します。

スライスの基本記述について

スライスの基本的な記述方法は、下記になります。


スライスで抽出対象の変数名[開始インデックス:終了インデックス]

スライス表記

スライスの基本的な記述方法は、上記でご紹介しましたが、注意しないといけない点は、括弧の種類に注意必要です。

開始インデックスと終了インデックスは省略することが可能です。

開始インデックスを省略した場合は、要素の最初から終了インデックスまでを抽出します。

終了インデックスを省略した場合は、開始インデックスから要素の最後までを抽出することになります。

スライスを利用した変数への代入

それでは具体的な、スライスを利用した変数への代入使用例は、下記になります。

#スライス対象の変数準備
tmp = "abcdef"
#4文字目から5文字目までを抽出
slice_sample1 = tmp[3:5]
#最初から5文字目までを抽出
slice_sample2 = tmp[:5]
#3文字目から最後までを抽出
slice_sample3 = tmp[2:]
#print関数による出力確認
print(slice_sample1)
print(slice_sample2)
print(slice_sample3)
#実行結果
de
abcde
cdef

実行結果からもわかる様に、要素番号は0番目から開始されており、終了インデックスは指定した番号の1つ前の要素番号までになります。そのため、結果的に、終了インデックスと最後の文字目は一致します。

配列から複数の値を取得するスライス方法

配列から複数の値を取得するスライス方法について、解説していきます。

配列から複数の値を取得する基本的な記述方法は、下記になります。


配列名[開始インデックス:終了インデックス]

基本的には対象が変数から配列に変更されただけで、記述方法は同じになります。

配列から複数の値を取得するスライス使用例

記述方法だけでは、イメージがつきにくいので、具体的な使用例をご紹介します。


#スライス対象のリスト配列の初期化

list_sample = ["Java","Python","C","VB.NET","Ruby"]

#リスト配列の2番目から4番目の要素を抽出

list_slice1 = list_sample[1:4]

#リスト配列の最初の要素から3番目の要素を抽出

list_slice2 = list_sample[:3]

#リスト配列の3番目の要素から最後の要素を抽出

list_slice3 = list_sample[2:]

#print関数による出力確認

print(list_slice1)

print(list_slice2)

print(list_slice3)

#実行結果

['Python', 'C', 'VB.NET']
['Java', 'Python', 'C']
['C', 'VB.NET', 'Ruby']

配列を使った記述方法の場合は、要素番号が0番目から開始されており、終了インデックスは指定した番号の1つ前の要素番号までになる為、勘違いしないように注意しなければいけません。

記述方法になれるまでは、実際にプログラミングする時にprint関数などで確認を行うことをおすすめします。

後ろからのスライスについて

文字列や配列とスライスを組み合わせて使用していると最初からではなく、後ろから文字列や要素を取り出したい機会は少なくありません。

Pythonのスライスでは、後ろからスライスの要素を抽出することが可能です。

後ろからのスライス方法

後ろから要素を抽出する場合の記述方法は、通常のスライスと同じです

指定するインデックスに「-(マイナス)」を指定することで後ろから要素を抽出することが出来るようになります。

後ろからのスライス使用例

後ろからのスライス使用例を文字列と配列それぞれをご紹介します

後ろからスライス使用例:文字列

後ろから文字列を抽出する具体的な使用例は、下記になります。

#後ろから文字列を抽出対象変数

tmp_sample = "abcdef"

#スライスで後ろから3番目と2番目を抽出

tmp_slice1 = tmp_sample[-3:-1]

#スライスで後ろから4番目から最後までを抽出

tmp_slice2 = tmp_sample[-4:]

#スライスで最初から後ろから3番目までを抽出

tmp_slice3 = tmp_sample[:-2]

#print関数による出力確認

print(tmp_slice1)

print(tmp_slice2)

print(tmp_slice3)

#実行結果

de
cdef
abcd

後ろからのスライスでは、-1(マイナス)が最後の文字になります。

そのまま後ろから2番目の文字が-2、後ろから3番目の文字が-3・・・となっていきます。

また、終了インデックスは、指定の1つ前の文字までとなるため、終了インデックスの-1 =開始インデックスの-2となります。

後ろからスライス使用例:配列

後ろからスライスする方法で配列の具体的な使用例は、下記になります。


#スライス対象のリスト配列の初期化

list_sample = ["Java","Python","C","VB.NET","Ruby"]

#後ろから3番目と2番目の要素を抽出

list_slice1 = list_sample[-3:-1]

#最初の要素から後ろから2番目までの要素を抽出

list_slice2 = list_sample[:-1]

#後ろから4番目から最後までの要素を抽出

list_slice3 = list_sample[-4:]

#print関数による出力確認

print(list_slice1)

print(list_slice2)

print(list_slice3)

#実行結果

['C', 'VB.NET']
['Java', 'Python', 'C', 'VB.NET']
['Python', 'C', 'VB.NET', 'Ruby']

文字列の時と同様で、-1(マイナス)が最後の要素になります。

そのまま後ろから2番目の要素が-2、後ろから3番目の要素が-3・・・となっていきます。

カンマ区切りで多次元配列のスライス方法

リスト配列を入れ子した多次元配列をスライスする方法について、解説していきます。

基本的な記述方法は同じで、カンマで区切られた部分を1つの要素としてスライスします。

カンマ区切りで多次元配列のスライス使用例

入れ子された多次元の配列をスライスする使用例をご紹介します。

#入れ子された多次元配列

lists_tmp = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

#スライスを使用して[4,5,6],[7,8,9]の要素を抽出

lists_slice1=lists_tmp[1:3]
#スライスを使用して[4,5,6]から最後まで抽出
lists_slice2=lists_tmp[1:]
#print関数による出力確認

print(lists_slice1)
print(lists_slice2)

入れ子されたリストからスライスで要素を抽出する場合も基本的な考え方は同じになります。

最後から順番に入れ替えるスライスについて

スライスを使用して最後から順番に入れ替える方法について、ご紹介していきます。

最後から順番に入れ替えるスライス方法

最後の方から順番を入れ替えるにはまず、スライスで読み込む幅を指定する方法が必要になります。

まずは下記記述方法で、読み込みステップを指定が可能です。

#変数または配列[開始インデックス:終了インデックス:ステップ数]
#ステップの使用例
tmp = "abcdef"
#2文字目から最後までを2つおきに抽出
tmp2 = tmp[1::2]
#print関数による出力確認
print(tmp2)
#出力結果
bdf

出力結果から取得するのが、2つおきになっていることがわかると思います。

これを応用することで最後から順番に入れ替えることができます。

最後から順番に入れ替えるスライス使用例

それでは実際にスライスを使って格納されているデータを最後から順番に格納する方法をご紹介します。


#最後から順番を入れ替える為の文字列変数と配列を宣言

tmp = "123456789"

list_tmp = ["apple","meat",milk"]

#最後から順番に入れ替える為に対象を全てにし、ステップを-1でスライス

tmp_result = tmp[::-1]

list_result = list_tmp[::-1]

#print関数による出力確認

print(tmp_result)

print(list_result)

#実行結果

987654321
['milk', 'meat', 'apple']

実行結果から変数、配列宣言時の値を最後順番に格納されていることが確認頂けたと思います。

まとめ

今回はPythonのスライスについて、解説してきましたが、いかがでしたか。

システムを開発していると特定の値から一部を抜き出したり、最後から順番に抽出する機会は少なくありません。

スライスの記述方法を知っていれば、あとは以下に応用して必要な情報を抜き出すかがポイントになります。

スライスの基本をしっかり習得して、文字列の抜き出しや配列から特定の部分を抜き出せるよう今回の基本部分をしっかり参考にして頂ければ幸いです。

また後半で解説した後ろから取得する方法などの応用部分について、最低限こんな事ができると言う知識を持って貰えれば悩んだ時にもスライスというキーワードで調べることで実現することが出来ます。

WebCamp・WebCamp Proについて

WebCampは1ヶ月でプログラミング・Webデザインスキルを学ぶ通い放題のプログラミングスクールです。WebCamp Proは3ヶ月間で未経験から即戦力エンジニアを育成するプログラミングスクールです。

2つのサービスを運営するインフラトップでは、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。

キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?

【Python】2日間で人工知能(AI)を学習するコースが開校
今回、当社(Web Camp)では、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
Pythonの基本的なプログラミング能力を身につけたい方
機械学習や人工知能に興味はあるがなかなか手を出せない方
上記にあてはまる方は、ぜひご参加ください!

※6月以降の開催につきましては、現在未定となっております。

7月枠も残りわずか当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
6月受入枠は満員となっております。7月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

▼未経験から1ヶ月でWebデザイン・プログラミングを学びたい方はこちら!

▼ついに開講!オンラインでWebデザインを学びたい方はこちら!

関連キーワード
pythonの関連記事
  • 【python入門者必見!】コマンドラインからのPython実行
  • 【python入門者必見!】importで生産性を向上させる方法を徹底解説
  • 【python入門者必見!】辞書配列の基本から応用を徹底解説
  • 【python入門者必見!】コメントの記述方法と重要性を徹底解説
  • 【python入門者必見!】setの基本から応用が全てわかる
  • 【python入門者必見!】リスト配列の基本から応用を徹底解説

当サイトで人気のオススメ転職サービスTOP3

1位 マイナビエージェント×IT

おすすめポイント

・平日忙しい人も、土曜日開催の個別キャリア相談会に参加できる

・職種や仕事内容(要件定義、上流工程から携わる仕事など)の要望が細かくできる
・マイナビの規模を活かした豊富で幅広い求人数

マイナビエージェント×ITの登録はこちら

2位 レバテックキャリア

おすすめポイント

・求人登録数4,000件以上

・エンジニア未経験、経験者両方に対応

・有名企業の採用担当者インタビューがみれる

・一次面接NGからの内定実績もあるほど、内定率が高い

レバテックキャリアの登録はこちら

 3位 type転職エージェント

おすすめポイント

転職者の71%が年収アップ

・IT系企業、特にエンジニアに限らず営業職の求人も充実している

各職種専門の転職アドバイザーが援助

type転職エージェントの登録はこちら

おすすめの記事