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 förlåtande: 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. Om step utelämnas antas värdet vara 1. Om start eller stop utelämnas betyder det "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
Fantastiskt!
Completion betyg förbättrat till 3.45
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 förlåtande: 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. Om step utelämnas antas värdet vara 1. Om start eller stop utelämnas betyder det "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!