Indexação e Fatiamento
Strings são sequências: cada caractere possui uma posição (um índice). Python utiliza indexação baseada em zero, então o primeiro caractere está no índice 0
. É possível acessar caracteres individuais com indexação e intervalos de caracteres com fatiamento.
Indexação
Utilize colchetes com uma única posição.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Índices negativos contam a partir do final.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
A indexação deve corresponder a uma posição existente; caso contrário, ocorre IndexError
.
12s = "python" print(s[10]) # IndexError: string index out of range
Além disso, strings são imutáveis, portanto é possível ler s[i]
, mas não atribuir valores a ela.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Fatiamento
Um fatiamento utiliza start:stop:step
e retorna uma nova string. stop
é exclusivo (não é incluído).
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)
Fatiamentos são tolerantes: ultrapassar os limites apenas ajusta para valores válidos (sem erro).
12s = "python" print(s[0:100]) # 'python'
Índices negativos e inversão
É possível combinar índices negativos em fatias, e um step
negativo percorre a sequência para trás.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step
não pode ser 0
. Omissão de step
implica em 1
. Omissão de start
ou stop
significa "do início" / "até o fim".
1. Qual valor este código irá exibir?
2. Qual valor este código irá exibir?
3. Qual afirmação gera um erro para u = "hello"
?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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 give more examples of string immutability in Python?
Awesome!
Completion rate improved to 5
Indexação e Fatiamento
Deslize para mostrar o menu
Strings são sequências: cada caractere possui uma posição (um índice). Python utiliza indexação baseada em zero, então o primeiro caractere está no índice 0
. É possível acessar caracteres individuais com indexação e intervalos de caracteres com fatiamento.
Indexação
Utilize colchetes com uma única posição.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Índices negativos contam a partir do final.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
A indexação deve corresponder a uma posição existente; caso contrário, ocorre IndexError
.
12s = "python" print(s[10]) # IndexError: string index out of range
Além disso, strings são imutáveis, portanto é possível ler s[i]
, mas não atribuir valores a ela.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Fatiamento
Um fatiamento utiliza start:stop:step
e retorna uma nova string. stop
é exclusivo (não é incluído).
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)
Fatiamentos são tolerantes: ultrapassar os limites apenas ajusta para valores válidos (sem erro).
12s = "python" print(s[0:100]) # 'python'
Índices negativos e inversão
É possível combinar índices negativos em fatias, e um step
negativo percorre a sequência para trás.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step
não pode ser 0
. Omissão de step
implica em 1
. Omissão de start
ou stop
significa "do início" / "até o fim".
1. Qual valor este código irá exibir?
2. Qual valor este código irá exibir?
3. Qual afirmação gera um erro para u = "hello"
?
Obrigado pelo seu feedback!