Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ インデックス指定とスライシング | Strings
Pythonのデータ型

bookインデックス指定とスライシング

メニューを表示するにはスワイプしてください

文字列はシーケンスであり、各文字には位置(インデックス)があります。Pythonではゼロベースのインデックスが使われるため、最初の文字はインデックス0になります。インデックス指定で単一の文字、スライスで文字の範囲を取得できます。

インデックス指定

角括弧内に単一の位置を指定します。

123
s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
copy

負のインデックスは末尾から数える。

123
s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
copy

インデックスは存在する位置を指定する必要があり、そうでない場合は IndexError となる。

12
s = "python" print(s[10]) # IndexError: string index out of range
copy

また、文字列はイミュータブルであるため、s[i]で値を読み取ることはできますが、代入はできません。

12
s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
copy

スライス

スライスは start:stop:step を使用し、新しい文字列を返します。stop除外されます(含まれません)。

12345
s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
copy

スライスは柔軟です:範囲外になっても有効な範囲に自動調整され、エラーにはなりません。

12
s = "python" print(s[0:100]) # 'python'
copy

負のインデックスと反転

スライス内で負のインデックスを組み合わせることができ、負の step を指定すると逆方向に進みます。

123
s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
copy
Note
注意

step0 にできません。step を省略すると 1 になります。start または stop を省略すると「先頭から」または「末尾まで」を意味します。

1. このコードはどのような値を出力しますか?

2. このコードはどのような値を出力しますか?

3. u = "hello" に対してエラーが発生する文はどれですか?

question mark

このコードはどのような値を出力しますか?

正しい答えを選んでください

question mark

このコードはどのような値を出力しますか?

正しい答えを選んでください

question mark

u = "hello" に対してエラーが発生する文はどれですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  2
some-alt