Quais são as formas comuns de manipular strings?

Praticando questões de entrevista de código em Python

Kirill Smirnov

Data Science Consultant, Altran

String

Criar strings:

s = 'hello'
print(s)
hello
s = "hello"
print(s)
hello
Praticando questões de entrevista de código em Python

String

Construtor str():

str("hello")
'hello'
str(11.5)
'11.5'
str([1, 2, 3])
'[1, 2, 3]'
Praticando questões de entrevista de código em Python

Construtor str()

class NewClass:

def __init__(self, num): self.num = num
nc = NewClass(2)
print(nc.num)
2
str(nc)
'<__main__.NewClass instance at 0x105cdabd8>'
Praticando questões de entrevista de código em Python

Construtor str()

class NewClass:

def __init__(self, num): self.num = num
def __str__(self): return str(self.num)
nc = NewClass(3)

str(nc)
'3'
Praticando questões de entrevista de código em Python

Acessando caracteres em uma string

s = "interview"
s[1]
'n'
s[-2]
'e'
s[1:4]
'nte'
s[2:]
'terview'
s[:3]
'int'
Praticando questões de entrevista de código em Python

O método .index()

s = "interview"
s.index('n')
1
s.index('i')
0
Praticando questões de entrevista de código em Python

Strings são imutáveis

s[0] = 'a'
TypeError

 

.capitalize()
.lower()
.upper()
.replace()

Métodos retornam um novo objeto string

Praticando questões de entrevista de código em Python

Métodos de modificação 1

# Concatenação de strings
s1 = "worm"
s2 = s1 + "hole"
print(s2)
wormhole
# Substituir uma substring
s1 = 'a dog ate my food'
s2 = s1.replace('dog', 'cat')
print(s2)
a cat ate my food
Praticando questões de entrevista de código em Python

Métodos de modificação 2

# Maiúsculas
s3 = s2.upper()
print(s3)
A CAT ATE MY FOOD
# Minúsculas
s4 = s3.lower()
print(s4)
a cat ate my food
# Capitalização
s5 = s4.capitalize()
print(s5)
A cat ate my food
Praticando questões de entrevista de código em Python

Relação com listas

Criar uma string a partir de uma lista de strings:

l = ['I', 'like', 'to', 'study']

s = ' '.join(l) print(s)
I like to study

Quebrar uma string em uma lista de strings:

l = s.split(' ')
print(l)
['I', 'like', 'to', 'study']
Praticando questões de entrevista de código em Python

Métodos de string com DataFrames

import pandas as pd

d = {'name': ['john', 'amanda', 'rick'], 'age': [35, 29, 19]}
D = pd.DataFrame(d)
print(D)
     name   age
0    john    35
1  amanda    29
2    rick    19
Praticando questões de entrevista de código em Python

Métodos de string com DataFrames

D['name'] = # vamos modificar esta coluna
Praticando questões de entrevista de código em Python

Métodos de string com DataFrames

D['name'] = D['name']
Praticando questões de entrevista de código em Python

Métodos de string com DataFrames

D['name'] = D['name'].str
Praticando questões de entrevista de código em Python

Métodos de string com DataFrames

D['name'] = D['name'].str.capitalize()
print(D)
     name   age
0    John    35
1  Amanda    29
2    Rick    19
Praticando questões de entrevista de código em Python

Vamos praticar!

Praticando questões de entrevista de código em Python

Preparing Video For Download...