Indexação e fatiamento é um conceito importante em Python, especialmente quando usamos strings.
Indexação:
WKT, string nada mais é do que uma sequência de caracteres.
Portanto, cada caractere tem uma posição chamada index e acessar sua posição nessa string específica é conhecido como indexação.
Em Python, temos indexação baseada em zero, ou seja, o primeiro caractere de uma string tem um índice (posição) de 0 em vez de ter um, então o segundo caractere tem um índice (posição) de 1 e assim por diante.
Por exemplo,
> H E L L O W O R L D > 0 1 2 3 4 5 6 7 8 9
Isso é conhecido como indexação positiva, pois usamos apenas números positivos para referir os índices.
Você pode perguntar: "Então, também temos índices negativos??"
Ofc, mas aqui não temos zero como primeira posição, pois não é um número negativo.
Indexação negativa nos permite acessar caracteres do final da string, ou seja, o último caractere tem um índice de -1, o penúltimo caractere tem um índice de -2 e assim por diante.
> H E L L O W O R L D > -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
word = "HELLOWORLD" print(word[0]) print(word[5]) H W
De forma similar,
print(word[-1]) print(word[-6]) D 0
Isso é tudo sobre indexação.
Fatiamento :
Pense em fatiar um barbante como cortar uma fatia de bolo de um bolo inteiro. Podemos especificar onde começar o corte (índice), onde terminar (índice final) e até mesmo o tamanho que cada fatia deve ter (etapa). Dessa forma, podemos criar porções menores do bolo (ou barbante) exatamente como gostamos!
Em Python, fatiar uma string nos permite capturar partes específicas dela, especificando onde começar e onde terminar dentro da string.
Assim, por exemplo, se a mensagem contiver "HELLOWORLD", então message[3:7] fornecerá "LOWO" porque começa no índice 3 ('L') e termina logo antes do índice 7 ('D'). Dessa forma, podemos extrair qualquer parte de uma string que precisarmos!
- A sintaxe básica para fatiar é,
string[start:stop]
text = "HappyBirthday" print(text[0:5]) print(text[5:13]) Happy Birthday
Ao fatiar uma string em Python, podemos simplesmente omitir o índice inicial ou final para fatiar do início ou do final da string.
É tão simples quanto isso!
- Fatiar com um passo,
Para especificar o intervalo entre caracteres ao fatiar uma string em Python, basta adicionar dois pontos seguidos do valor da etapa:
string[start:stop:step]
Isso permite controlar como queremos pular os caracteres da string ao criar uma fatia.
message = "HELLOWORLD" print(message[1::2]) EORL
message[1::2] começa a fatiar do índice 1 ('E') até o final da string, com um passo de 2.
Portanto, inclui caracteres nos índices 1, 3, 5 e 7, dando-nos "EORL".
Até vimos sobre fatiamento positivo e agora vamos aprender sobre fatiamento negativo.
- Fatiamento negativo:
message = "HELLOWORLD" print(message[-2:2:-1]) ROWOL
Vamos analisar algumas questões.
#Escreva uma função que pega uma string e retorna uma nova string consistindo em seu primeiro e último caractere.
word = "Python" end = word[0] word[5] print(end) Pn
#Escreva uma função que reverta uma determinada string.
word = "Python" print(word[::-1]) nohtyP
#Dada uma string, extraia e retorne uma substring do 3º ao 8º caractere (inclusive).
text = "MichaelJackson" print(text[3:9]) haelJa
#Dado um endereço de e-mail, extraia e retorne o domínio.
email = "[email protected]" domain = email[:-10] print(domain) hello_world
#Escreva uma função que retorne cada terceiro caractere de uma determinada string.
text = "Programming" print(text[::3]) Pgmn
#Escreva uma função que pula cada segundo caractere e depois inverte a string resultante.
text1 = "Programming" print(text1[::-2]) gimroP
#Escreva uma função que extraia e retorne caracteres em índices pares de uma determinada string.
text = "Programming" print(text[::2]) Pormig
Tudo bem, isso é o básico aqui.
.....
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3