Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Indexing and Slicing | Section
Working with Numbers in Python: Integers, Floats, and Type Conversion - 1769704232138

Indexing and Slicing

Pyyhkäise näyttääksesi valikon

Strings are sequences: each character has a position (an index). Python uses zero-based indexing, so the first character is at index 0. You can take single characters with indexing and ranges of characters with slicing.

Indexing

Use square brackets with a single position.

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

Negative indices count from the end.

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

Indexing must hit an existing position, otherwise you get IndexError.

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

Also, strings are immutable, so you can read s[i] but not assign to it.

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

Slicing

A slice uses start:stop:step and returns a new string. stop is exclusive (it's not included).

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)

Slices are forgiving: going past the ends just trims to valid bounds (no error).

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

Negative Indices and Reversing

You can mix negative indices in slices, and a negative step walks backward.

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

step cannot be 0. Leaving out step implies 1. Leaving out start or stop means "from the beginning" / "to the end".

1. What value will this code output?

2. What value will this code output?

3. Which statement raises an error for u = "hello"?

question mark

What value will this code output?

Valitse oikea vastaus

question mark

What value will this code output?

Valitse oikea vastaus

question mark

Which statement raises an error for u = "hello"?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 14

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 14
some-alt