Você está na página 1de 3

#strings - utilize esse programa no modo interativo

#----------------------------
#1.operações básicas
#----------------------------
s1 = 'Ciência de Dados'

s1[0] #C
s1[:7] #Ciência
'Dados' in s1 #True
'dados' in s1 #False
len(s1) #16

for c in s1: print(c)


for k in range(len(s1)): print(s1[k])

#----------------------------
#2.Não posso modificar!
#----------------------------
s2 = 'john'
s2[0] = 'J' #não dá para modificar, vai dar erro
s2 = 'John' #só fazendo nova atribuição... aí dá certo

s2 = s2 + ' Lennon' #funciona pq é nova atribuição

#----------------------------
#3.Conversão de tipos
#----------------------------
x = str(1000)
n = str(1.99)
vazia = '' #len(vazia)=0
vazia = str()

#-----------------------------------
#4.Métodos - NUNCA alteram a string, pois ela é imutável
# todos retornam um clone modificado da string
#-----------------------------------
s3 = 'Yoko Ono'
s3.lower() #yoko ono
s3.upper() #Yoko Ono
s3.count('o') #3
s3.count('O') #1
s3.lower().count('o') #4

s3.find('ko') #2
s3.find('x') #-1

s3.endswith('Ono') #True
s3.endswith('Ana') #False
s3.endswith('Yoko',0,4) #True

s3.replace('Ono','Ana') #Yoko Ana


s3.replace('o','e') #Yeke One

s4 = 'John,Yoko,Julian,Sean'
s4.split(",") #split cria lista a partir de string com separador

#-----------------------------------
#5. comparação
#-----------------------------------
p1 = 'áaa'
p2 = 'aaa'
p3 = 'AAA'
print(p1==p2) #False
print(p2 < p1) #True
print(p2 < p3) #False

#----------------------------------------------------------------
#6.Transformações úteis no Data Wrangling (Preparação de Dados)
#----------------------------------------------------------------

#----------------------------------------------
#6.1 importando e limpando linha de arquivo CSV
#----------------------------------------------

#Exemplo 1
#faz o split, remove espaços em branco à esquerda e direita
#e converte dois últimos valores para int e float, respectivamente
linha = ' John; 40; 530.50 '
dados = linha.split(';')

dados = [valor.strip() for valor in dados]

dados[1] = int(dados[1])
dados[2] = float(dados[2])

#Exemplo 2
#faz o split e converte 5 últimos valores para inteiro
l = 'a,b,c,d,e,f,1,2,3,4,5'
dados = l.split(",")
dados = [dados[k] if k < 6 else int(dados[k]) for k in range(len(dados))]

#----------------------------------------------
#6.2 processando um tweet com translate e maketrans
#----------------------------------------------

#Exemplo 1
texto = 'Diagnóstico... não há como você PERDER!!! '

simbolos = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
traducao = ('àáâãéêíóôõúç',
'aaaaeeiooouc')

texto = texto.lower().strip()

#remove os símbolos
texto1 = texto.translate(str.maketrans('', '', simbolos))

#remove os símbolos e troca letras acentuadas por não acentuadas


texto2 = texto.translate(str.maketrans(traducao[0], traducao[1], simbolos))

#Exemplo2
#peguei em: https://www.w3schools.com/python/ref_string_maketrans.asp
txt = "Good night Sam!"
x = "mSa"
y = "eJo"
z = "odnght"
mytable = txt.maketrans(x, y, z)
print(txt.translate(mytable))

Você também pode gostar