Indexering och Skivning
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.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Negativa index räknas från slutet.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Indexering måste träffa en befintlig position, annars uppstår IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Strängar är också oföränderliga, så du kan läsa s[i] men inte tilldela ett värde till det.
12s = "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).
12345s = "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 toleranta: att gå utanför gränserna beskär bara till giltiga värden (ingen felaktighet).
12s = "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.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
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"?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain more about how slicing works with different step values?
What happens if I use both negative start and stop indices in a slice?
Can you show more examples of string indexing and slicing?
Awesome!
Completion rate improved to 5.26
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.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Negativa index räknas från slutet.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
Indexering måste träffa en befintlig position, annars uppstår IndexError.
12s = "python" print(s[10]) # IndexError: string index out of range
Strängar är också oföränderliga, så du kan läsa s[i] men inte tilldela ett värde till det.
12s = "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).
12345s = "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 toleranta: att gå utanför gränserna beskär bara till giltiga värden (ingen felaktighet).
12s = "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.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
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"?
Tack för dina kommentarer!