Pythonスライスの基本と実務活用 リストや文字列の一部を自在に切り出す方法

【作業自動化】Python
スポンサーリンク

「この長い商品コードの、左から3番目までの文字だけExcelに移したい…」

そんな作業、目で見て手で打っていませんか? 今回ご紹介するPythonの「スライス」は、食パンを好きな厚さにカットするようなものです。「ここから、ここまで欲しい!」とPythonに伝えるだけ。

今日は、明日からの事務作業で即戦力になる「切り出し術」をご紹介します!

【作業自動化】Pythonの記事を見る 

スライスの基本構造と構文ルール

スライスとは、文字列やリストなどのシーケンスデータの中から、必要な範囲の要素だけを切り出して新しいデータとして取得する機能となります。その名の通り、データの一部を切り取る機能ですね。

基本構文は角括弧とコロンを用いて以下のように記述します。

シーケンス[開始位置:終了位置:ステップ]

指定する3つのパラメータには、それぞれ次のような役割があります。

  • 開始位置: 切り出しを開始するインデックス番号を指定
  • 終了位置: 切り出しを終了するインデックス番号を指定。
  • ステップ: 何要素ごとに取得するかという間隔(増分)を指定(省略時は1)

要するに、この「カクカクした括弧 []」と「コロン :」がポイントとなります。

インデックスの数え方と範囲指定の注意点

Pythonのインデックス番号は、先頭を「0」として数え始めます。

さらに、スライスの範囲指定において最も重要なポイントは、終了位置で指定したインデックスの要素そのものは含まれず、その直前までが取得対象となる点です。

イメージしやすいように、社員IDコードを扱う具体的なコードで確認してみましょう。

id_code = "2025-Sales-001"

# インデックス5から10の手前(インデックス9)までを抽出
department = id_code[5:10]
print(department)
# 出力結果: Sales

このように、開始位置(5)から終了位置(10)の直前までが正確に切り出されます。

先頭や末尾を省略したシンプルな範囲指定

スライスでは、開始位置や終了位置を省略して記述することが可能です。

実務における文字列処理やデータ加工では、この省略記法が最も頻繁に活用されます。

# 開始位置を省略: 先頭からインデックス4の手前まで抽出(西暦年度)
year = id_code[:4]
print(year)
# 出力結果: 2025

# 終了位置を省略: インデックス11から末尾まで抽出(個別管理番号)
number = id_code[11:]
print(number)
# 出力結果: 001

  • 開始位置を省略した場合: 自動的に先頭(インデックス0)から処理されます。
  • 終了位置を省略した場合: 自動的にシーケンスの末尾まで処理されます。

文字数や桁数が決まっている固定長データの分割や集計で、コードの記述量を減らし可読性を高める効果があります。

負のインデックスを活用した末尾からの切り出し

「データの長さがバラバラで、前から何文字目かわからない…」

実務では、全体の文字数が一定ではないデータを扱うケースも少なくありませんよね。

そんな場面では、負の整数(マイナス値)を指定することで、末尾側から逆算して位置を指定できます。

代表的な活用例が、ファイル名から拡張子部分を除外して本体名だけを抽出する処理です。

filename = "quarterly_report_v2.csv"

# 末尾の4文字(.csv)を除外して先頭から抽出
base_name = filename[:-4]
print(base_name)
# 出力結果: quarterly_report_v2

末尾のインデックスは -1 から始まります。[:-4] と記述することで、全体の長さが可変であっても、末尾4文字の手前までを取得できます。

ステップ引数を用いた応用操作

スライスの3番目の引数であるステップを活用すると、要素を一定間隔で間引いて取得したり、要素の並び順を反転させたりすることが可能です。

text = "stressed"

# ステップに -1 を指定して文字列全体を反転
reversed_text = text[::-1]
print(reversed_text)
# 出力結果: desserts

ステップに -1 を指定すると、末尾から先頭に向かって1文字ずつ逆順に取得されるため、特別な反転用メソッドを用意することなく一行で反転処理が完了します。

スライスのまとめ

  • スライスは角括弧とコロンを用いて [開始:終了:ステップ] で指定する
  • 終了位置に指定した番号の要素は含まれず、その直前までが抽出される
  • 開始や終了の値を省略することで、先頭からや末尾までを柔軟に切り出せる
  • マイナスのインデックスを活用すると、末尾からの位置指定がスムーズに行える

スライスの基本を身につけると、リストの分割や文字列クレンジングなど、日常業務の自動化スクリプトをよりスマートに記述できるようになります。ぜひ日々の業務に役立ててみてください!

【作業自動化】Pythonの記事を見る 


Pythonの本は種類が多すぎて、業務効率化に使えるのか見分けるのが大変ですよね。実務自動化に5年以上携わってきた私が、「デスクワークの自動化に即戦力になった本」を厳選して紹介します。失敗しない1冊を見つけたい方は、ぜひ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でしたが、年間100万円以上節約していました。
株式投資で年間360万円以上投資し、iDeCoも併用しています。
総資産はアッパーマス層に到達しました。
資格は日商簿記3級を持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、生産性を高めるITスキルについて発信しています。

生活を豊かにするため、高配当株投資で年間配当金60万円をめざしています。
現在の年間配当金は30万円ほどです。

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【作業自動化】PythonITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました