Indexação e Fatiamento
Strings são sequências: cada caractere possui uma posição (um índice). Python utiliza indexação baseada em zero, portanto 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 um valor a ele.
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 está 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 Reversão
É possível misturar índices negativos em fatias, e um step negativo percorre a string 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 final".
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
Incrível!
Completion taxa melhorada para 5.26
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, portanto 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 um valor a ele.
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 está 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 Reversão
É possível misturar índices negativos em fatias, e um step negativo percorre a string 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 final".
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!