str(文字列)は、リストと同じくシーケンス型に含まれます。そのため、リストと同様の添え字による文字単位の操作や、メソッドを使用した操作が可能です。
strやリストは、シーケンス型に分類されるデータ型です。シーケンス型のデータは、オブジェクト内に複数の要素を持ち、それぞれの要素を添え字(インデックス)で管理できるという特徴があります。添え字による要素へのアクセスなどはシーケンス演算と呼ばれ、シーケンス型で共通して行えます。
3級で学習した、リストに関する操作のうち、以下はリスト以外のシーケンス型でも共通して行えるシーケンス演算です。
| 操作 | 内容 |
|---|---|
| [添え字] | 添え字を指定して要素を取得する。 |
| + | シーケンス型同士を結合する。 |
| * | 同じシーケンス型を複数個結合する。 |
| in | ある要素が含まれるか確認する。 |
| not in | ある要素が含まれないか確認する。 |
| len関数 | 長さ(要素数)を求める。 |
| max関数 | 最大の要素を求める。 |
| min関数 | 最小の要素を求める。 |
| indexメソッド | 要素の位置を求める。 |
| countメソッド | 要素の登場回数を求める。 |
以降では、strについて、応用的な内容を含む 添え字による操作と、メソッドによる操作を解説します。
各問について、適切な解答を解答群から選んでください。
kana = 'いろはにほへと'
A = kana[-4]
B = kana[1:3]
C = kana[::2]
sli_kana = A + B + C
print(sli_kana.find('★★★★★'))
-1
このプログラムでは、加工した文字列からfindメソッドで含まれる文字列を探して、結果を表示します。結果は、文字列が見つからないことを示す「-1」なので、事前の操作によってなくなってしまう文字列が正解となります。
sli_kanaは、変数kanaに格納された文字列から取得したA~Cを結合したものです。Aは、末尾から4文字目である「に」です。Bは、スライスによって2、3文字目が切り出されているので「ろは」です。最後のCは、2文字ずつ切り出されていることから「いはほと」とわかります。よって、sli_kanaは「にろはいはほと」です。
findメソッドは、引数に指定した文字列が存在する位置を返すメソッドですが、対象の文字列が存在しない場合は、今回のように-1を返します。そのため、空欄にはsli_kanaに含まれない文字列「へ」が入るとわかります。
したがって、空欄に入るのは「ウ」です。
サンプル版は以上です。