Основные способы работы со строками

Практика задач для собеседования по программированию на Python

Kirill Smirnov

Data Science Consultant, Altran

String

Создание строк:

s = 'hello'
print(s)
hello
s = "hello"
print(s)
hello
Практика задач для собеседования по программированию на Python

String

Конструктор str():

str("hello")
'hello'
str(11.5)
'11.5'
str([1, 2, 3])
'[1, 2, 3]'
Практика задач для собеседования по программированию на Python

Конструктор str()

class NewClass:

def __init__(self, num): self.num = num
nc = NewClass(2)
print(nc.num)
2
str(nc)
'<__main__.NewClass instance at 0x105cdabd8>'
Практика задач для собеседования по программированию на Python

Конструктор str()

class NewClass:

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

str(nc)
'3'
Практика задач для собеседования по программированию на Python

Доступ к символам строки

s = "interview"
s[1]
'n'
s[-2]
'e'
s[1:4]
'nte'
s[2:]
'terview'
s[:3]
'int'
Практика задач для собеседования по программированию на Python

Метод .index()

s = "interview"
s.index('n')
1
s.index('i')
0
Практика задач для собеседования по программированию на Python

Строки неизменяемы

s[0] = 'a'
TypeError

 

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

Методы возвращают новый строковый объект

Практика задач для собеседования по программированию на Python

Методы изменения строк 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
Практика задач для собеседования по программированию на Python

Методы изменения строк 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
Практика задач для собеседования по программированию на Python

Связь со списками

Создание строки из списка строк:

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

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

Разбиение строки на список строк:

l = s.split(' ')
print(l)
['I', 'like', 'to', 'study']
Практика задач для собеседования по программированию на Python

Строковые методы с DataFrame

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
Практика задач для собеседования по программированию на Python

Строковые методы с DataFrame

D['name'] = # we will modify this column
Практика задач для собеседования по программированию на Python

Строковые методы с DataFrame

D['name'] = D['name']
Практика задач для собеседования по программированию на Python

Строковые методы с DataFrame

D['name'] = D['name'].str
Практика задач для собеседования по программированию на Python

Строковые методы с DataFrame

D['name'] = D['name'].str.capitalize()
print(D)
     name   age
0    John    35
1  Amanda    29
2    Rick    19
Практика задач для собеседования по программированию на Python

Давайте потренируемся!

Практика задач для собеседования по программированию на Python

Preparing Video For Download...