Cum se manipulează șirurile de caractere?

Exersarea întrebărilor de interviu de programare în Python

Kirill Smirnov

Data Science Consultant, Altran

Șir de caractere

Crearea șirurilor:

s = 'hello'
print(s)
hello
s = "hello"
print(s)
hello
Exersarea întrebărilor de interviu de programare în Python

Șir de caractere

Constructorul str():

str("hello")
'hello'
str(11.5)
'11.5'
str([1, 2, 3])
'[1, 2, 3]'
Exersarea întrebărilor de interviu de programare în Python

Constructorul str()

class NewClass:

def __init__(self, num): self.num = num
nc = NewClass(2)
print(nc.num)
2
str(nc)
'<__main__.NewClass instance at 0x105cdabd8>'
Exersarea întrebărilor de interviu de programare în Python

Constructorul str()

class NewClass:

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

str(nc)
'3'
Exersarea întrebărilor de interviu de programare în Python

Accesarea caracterelor dintr-un șir

s = "interview"
s[1]
'n'
s[-2]
'e'
s[1:4]
'nte'
s[2:]
'terview'
s[:3]
'int'
Exersarea întrebărilor de interviu de programare în Python

Metoda .index()

s = "interview"
s.index('n')
1
s.index('i')
0
Exersarea întrebărilor de interviu de programare în Python

Șirurile sunt imuabile

s[0] = 'a'
TypeError

 

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

Metodele returnează un nou obiect șir

Exersarea întrebărilor de interviu de programare în Python

Metode de modificare 1

# String concatencation
s1 = "worm"
s2 = s1 + "hole"
print(s2)
wormhole
# Replace a substring
s1 = 'a dog ate my food'
s2 = s1.replace('dog', 'cat')
print(s2)
a cat ate my food
Exersarea întrebărilor de interviu de programare în Python

Metode de modificare 2

# Upper case
s3 = s2.upper()
print(s3)
A CAT ATE MY FOOD
# Lower case
s4 = s3.lower()
print(s4)
a cat ate my food
# Capitalization
s5 = s4.capitalize()
print(s5)
A cat ate my food
Exersarea întrebărilor de interviu de programare în Python

Relația cu listele

Crearea unui șir dintr-o listă de șiruri:

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

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

Împărțirea unui șir într-o listă de șiruri:

l = s.split(' ')
print(l)
['I', 'like', 'to', 'study']
Exersarea întrebărilor de interviu de programare în Python

Metode de șiruri cu DataFrame-uri

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
Exersarea întrebărilor de interviu de programare în Python

Metode de șiruri cu DataFrame-uri

D['name'] = # we will modify this column
Exersarea întrebărilor de interviu de programare în Python

Metode de șiruri cu DataFrame-uri

D['name'] = D['name']
Exersarea întrebărilor de interviu de programare în Python

Metode de șiruri cu DataFrame-uri

D['name'] = D['name'].str
Exersarea întrebărilor de interviu de programare în Python

Metode de șiruri cu DataFrame-uri

D['name'] = D['name'].str.capitalize()
print(D)
     name   age
0    John    35
1  Amanda    29
2    Rick    19
Exersarea întrebărilor de interviu de programare în Python

Să exersăm!

Exersarea întrebărilor de interviu de programare în Python

Preparing Video For Download...