モジュールのレッスン (2/4)
スライスとインデックス作成
Python では、文字列は 文字のシーケンスです。次のようにアクセスできます。
インデックスによって個々の文字を抽出し、スライスで部分文字列を切り出す
構文 [start:stop:step] — リストの場合とまったく同じです。
正のインデックスと負のインデックス
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)範囲外のアクセスでは IndexError が発生します。
スライス [start:stop:step]
s = "Python"
s[0:3] # 'Pyt' indici 0,1,2 (stop ESCLUSO)
s[2:] # 'thon' dal 2 alla fine
s[:3] # 'Pyt' dall'inizio fino al 3 (escluso)
s[:] # 'Python' copia completa
s[-3:] # 'hon' ultimi 3
s[:-2] # 'Pyth' tutto tranne gli ultimi 2インデックス作成とは異なり、スライスではインデックスが切れている場合でもエラーが発生しません 範囲: 可能な限りのことを切り開きます。
3 番目の引数: step
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] は、文字列を反転する慣用的な方法です。
長さと収容力
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # False負のインデックスとスライスのステップ
スライスの完全な構文は s[start:stop:step] です。 start と stop を省略し、負の step または -1 (s[::-1]) を設定すると、文字列が逆になります。負のインデックス -1 は常に文字列の最後の文字を表し、-2 は最後から 2 番目の文字などになります。
試してみてください
`word = 'PROGRAMMAZIONE'` とすると、その逆を `reversed_word` で取得します。 「reversed_word」を評価します。
ヒントを表示
単語[::-1]
3 回の試行後に解決策が利用可能になります
復習演習
`email = 'ada@example.com'` とすると、.find でインデックスを見つけた後、スライスを使用してドメイン ('@' 以降のすべて) を `domain` に抽出します。 「ドメイン」を評価します。
ヒントを表示
メール[メール.find('@') + 1:]
3 回の試行後に解決策が利用可能になります
追加の課題
文字列 \`word = "pythonista"\` を指定すると、スライスを使用して最初の 3 文字と最後の 3 文字を抽出し、それらを新しい文字列 \`short_word\` に連結します。最後に、\`short_word\` を評価します (\`'pytsta'\` が生成されるはずです)。
ヒントを表示
The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.
3 回の試行後に解決策が利用可能になります