Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Indeksointi ja Viipalointi | Merkkijonot
Tietotyypit Pythonissa

bookIndeksointi ja Viipalointi

Merkkijonot ovat jonoja: jokaisella merkillä on sijainti (indeksi). Python käyttää nollapohjaista indeksointia, joten ensimmäinen merkki on indeksissä 0. Yksittäisiä merkkejä voi hakea indeksoinnilla ja merkkijonon osia viipaloinnilla.

Indeksointi

Käytä hakasulkeita ja yksittäistä sijaintia.

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

Negatiiviset indeksit laskevat lopusta päin.

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

Indeksoinnin on osuttava olemassa olevaan sijaintiin, muuten syntyy IndexError.

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

Lisäksi merkkijonot ovat muuttumattomia, joten voit lukea s[i], mutta et voi antaa sille uutta arvoa.

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

Viipalointi

Viipalointi käyttää muotoa start:stop:step ja palauttaa uuden merkkijonon. stop on eksklusiivinen (ei sisälly mukaan).

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

Viipaleet ovat sallivia: jos rajat ylitetään, viipale rajataan kelvollisiin arvoihin (ei virhettä).

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

Negatiiviset indeksit ja kääntäminen

Negatiivisia indeksejä voi yhdistellä viipaleisiin, ja negatiivinen step kulkee taaksepäin.

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

step ei voi olla 0. Jos step jätetään pois, oletusarvo on 1. Jos start tai stop jätetään pois, tarkoittaa se "alusta" / "loppuun".

1. Mikä arvo tulostuu tästä koodista?

2. Mikä arvo tulostuu tästä koodista?

3. Mikä lause aiheuttaa virheen kun u = "hello"?

question mark

Mikä arvo tulostuu tästä koodista?

Select the correct answer

question mark

Mikä arvo tulostuu tästä koodista?

Select the correct answer

question mark

Mikä lause aiheuttaa virheen kun u = "hello"?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Awesome!

Completion rate improved to 3.45

bookIndeksointi ja Viipalointi

Pyyhkäise näyttääksesi valikon

Merkkijonot ovat jonoja: jokaisella merkillä on sijainti (indeksi). Python käyttää nollapohjaista indeksointia, joten ensimmäinen merkki on indeksissä 0. Yksittäisiä merkkejä voi hakea indeksoinnilla ja merkkijonon osia viipaloinnilla.

Indeksointi

Käytä hakasulkeita ja yksittäistä sijaintia.

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

Negatiiviset indeksit laskevat lopusta päin.

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

Indeksoinnin on osuttava olemassa olevaan sijaintiin, muuten syntyy IndexError.

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

Lisäksi merkkijonot ovat muuttumattomia, joten voit lukea s[i], mutta et voi antaa sille uutta arvoa.

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

Viipalointi

Viipalointi käyttää muotoa start:stop:step ja palauttaa uuden merkkijonon. stop on eksklusiivinen (ei sisälly mukaan).

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

Viipaleet ovat sallivia: jos rajat ylitetään, viipale rajataan kelvollisiin arvoihin (ei virhettä).

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

Negatiiviset indeksit ja kääntäminen

Negatiivisia indeksejä voi yhdistellä viipaleisiin, ja negatiivinen step kulkee taaksepäin.

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

step ei voi olla 0. Jos step jätetään pois, oletusarvo on 1. Jos start tai stop jätetään pois, tarkoittaa se "alusta" / "loppuun".

1. Mikä arvo tulostuu tästä koodista?

2. Mikä arvo tulostuu tästä koodista?

3. Mikä lause aiheuttaa virheen kun u = "hello"?

question mark

Mikä arvo tulostuu tästä koodista?

Select the correct answer

question mark

Mikä arvo tulostuu tästä koodista?

Select the correct answer

question mark

Mikä lause aiheuttaa virheen kun u = "hello"?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2
some-alt