文字列の操作方法(一般的)

Pythonでコーディング面接問題を練習する

Kirill Smirnov

Data Science Consultant, Altran

文字列

文字列を作成:

s = 'hello'
print(s)
hello
s = "hello"
print(s)
hello
Pythonでコーディング面接問題を練習する

文字列

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

# 文字列の連結
s1 = "worm"
s2 = s1 + "hole"
print(s2)
wormhole
# 部分文字列の置換
s1 = 'a dog ate my food'
s2 = s1.replace('dog', 'cat')
print(s2)
a cat ate my food
Pythonでコーディング面接問題を練習する

変更用メソッド 2

# 大文字化
s3 = s2.upper()
print(s3)
A CAT ATE MY FOOD
# 小文字化
s4 = s3.lower()
print(s4)
a cat ate my food
# 先頭を大文字に
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'] = # この列を変更します
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でコーディング面接問題を練習する

Ayo berlatih!

Pythonでコーディング面接問題を練習する

Preparing Video For Download...