⌨️
Python入門⑥~インデックス・スライシング~
インデックス~個々の文字列の取得~
Pythonでは、要素の中で、特定の位置にあるものだ
けを取り出すことができます。
特定の1文字だけ取り出したい場合
print ('◯◯◯' [左から何番目にあるか])
特定の範囲を取り出したい場合
print ('◯◯◯' [何番目から:何番目まで])
とします。
例えば「あいうえお」という文字列があるとします。
左から数えて、1番目は「あ」、2番目は「い」、3番目は…と並んでいます。
左から1番目の文字だけを取り出したい場合は、
print ('あいうえお' [0])
とすると「あ」が表示されます。「0番目=左から1番目」という考え方です。
左から2番目の文字だけを取り出したい場合は、
print ('あいうえお' [1])
とすると「い」が表示されます。
一番最後の文字だけを取り出したい場合は、
print ('あいうえお' [-1])
とすると「お」が表示されます。
スライシング~範囲指定した文字列の取得~
左から1~4番目を範囲指定して、まとめて取り出したい場合は、
print ('あいうえお' [0:4])
とすると「あいうえ」が表示されます。
[0:4]は[0から4の一つ手前まで(=3番目まで)]という意味です。
以前、以降を指定することもできます。その場合は省略が使えます。
左から2番目以前をまとめて取り出したい場合は、
print ('あいうえお' [:2])
とすると「あい」が表示されます。
左から4番目以降をまとめて取り出したい場合は、
print ('あいうえお' [3:])
とすると「えお」が表示されます。
変更不能体
上記のインデックス・スライシングで指定した位置に代入はできません。
例えば下記の場合(「あいうえお」を「らいうえお」に変える)はエラーになります。
word = 'あいうえお'
word [0] = 'ら'
print ( word )
一部の文字列を改変したい場合、下記のようにコードを書く必要があります。
代入をいじるのではなく、「+」で結合させる、という考え方です。
word = 'あいうえお'
print ( 'ら' + word [1:] )
とすると「らいうえお」と表示されます。
文字列の長さの取得(len関数)
文字列の長さを数字で出力することができます。
len関数を使用します。
print ( len ('あいうえお') )
とすると「5」が表示されます。
Discussion