Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Indexering och Skivning | Strängar
Datatyper i Python

Indexering och Skivning

Svep för att visa menyn

Strängar är sekvenser: varje tecken har en position (ett index). Python använder nollbaserad indexering, så det första tecknet har index 0. Du kan ta ut enskilda tecken med indexering och intervall av tecken med slicing.

Indexering

Använd hakparenteser med en enskild position.

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

Negativa index räknas från slutet.

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

Indexering måste träffa en existerande position, annars uppstår IndexError.

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

Strängar är också oföränderliga, så det går att läsa s[i] men inte tilldela ett värde till det.

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

Skivning

En skiva använder start:stop:step och returnerar en ny sträng. stop är exklusiv (den inkluderas inte).

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)

Skivor är förlåtande: om du går utanför gränserna justeras det automatiskt till giltiga värden (ingen felaktighet).

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

Negativa index och omvändning

Negativa index kan kombineras i skivor, och ett negativt step går baklänges.

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

step kan inte vara 0. Att utelämna step innebär 1. Att utelämna start eller stop betyder "från början" / "till slutet".

1. Vilket värde kommer denna kod att skriva ut?

2. Vilket värde kommer denna kod att skriva ut?

3. Vilket påstående ger ett felmeddelande för u = "hello"?

question mark

Vilket värde kommer denna kod att skriva ut?

Vänligen välj det korrekta svaret

question mark

Vilket värde kommer denna kod att skriva ut?

Vänligen välj det korrekta svaret

question mark

Vilket påstående ger ett felmeddelande för u = "hello"?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 3. Kapitel 2
some-alt