LoginSignup
1
0

More than 3 years have passed since last update.

【Udemy Python3入門+応用】 12.文字列のインデックスとスライス

Posted at

※この記事はUdemyの
現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル
の講座を受講した上での、自分用の授業ノートです。
講師の酒井潤さんから許可をいただいた上で公開しています。

■インデックス

◆インデックスの使い方
index
word = 'python'

print(word[0])
print(word[1])
print(word[2])
print(word[3])
print(word[4])
print(word[5])
result
p
y
t
h
o
n

変数に文字列を代入したとき、その文字列の任意の文字を指定できる。
Pythonにおいて、「1番目の文字」のインデックスは「0」であることに注意。

◆インデックスのエラー
index
word = 'python'

print(word[100])
result
    print(word[100])
IndexError: string index out of range

このとき、文字列の範囲を超えたインデックスを指定するとエラーとなる。

◆インデックスの「ー」
index
word = 'python'

print(word[-1])
print(word[-2])
print(word[-3])
result
n
o
h

[-1]などは先頭の文字([0])から更に左にいき、最後の文字に回るようにカウントされる。
よって、[-1]は最後の文字を表すインデックスとなる。


■スライス

◆スライスの使い方
slice
word = 'python'

print(word[0:2])
result
py

[:]により、始点と終点を指定し、その間の数を指定することができる。

|p|y|t|h|o|n|
0 1 2 3 4 5 6

インデックスは実際は文字と文字の間を表しており、このように考えるとわかりやすい。
(0と2の間は「py」となる。)

◆省略
slice
word = 'python'

print(word[:2])
print(word[2:])
print(word[:])
result
py
thon
python

始点を省略すると「最初から」になり、
終点を省略すると「最後まで」になる。
始点も終点も省略した場合は、文字列全体を指定することになる。


■文字列の任意の文字だけを入れ替える

◆「python」→「jython」
change_letter
word = 'python'
word = 'j' + word[1:]
print(word)
result
jython


■文字数をカウントする

count_letters
word = 'python'

n = len(word)
print(n)
result
6

文字列の"length"をlen()を用いてカウントすることができる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0