この記事について
python初心者である私が学習したものをまとめたものです.
リスト型について超基本的なことを書きました.
文字列型のメソッド
文字列の置換,削除、検索、連結、大文字小文字変換
置換
- str.replace("置換前文字","置換後文字")
削除
-
str.replace("削除した文字","")
-
str.strip([削除したい文字列])
検索
-
str.find(検索したい文字列[,開始インデックス[,終了インデックス]])→検索したい文字が見つからなかった場合は「-1」を返却
-
str.index(検索したい文字列[,開始インデックス[,終了インデックス]])→検索したい文字が見つからなかった場合はValueError例外発生
連結
- str.join(シーケンス)
大文字変換
- str.upper()
小文字変換
- str.lower()
split( )メソッドとjoin( )メソッド
split( )メソッドは文字列を特定の文字を目安にして分割できる機能を持つ。
分割に利用する**区切り文字列(デリミタ文字列)**を引数として渡して結果を文字列のリストとして返す。
join( )メソッドはsplit()メソッドの逆の処理
→split( )とjoin( )を使うことで分割してから余分な空白を削除できる!
str_speeds = " 38 42 20 40 37"
speeds2 = str_speeds.split()
csep_speeds2 = "".join(speeds2)
print(speeds2) # ['38', '42', '20', '40', '37']
print(csep_speeds2) # 3842204037
文字列のフォーマット
差し込み処理を行えるformat()メソッド
linkstr = '<a href="{}">{}</a>'
for i in [ 'http://python.org',
'http://pypy.org',
'http://cythin.org',]:
print(linkstr.format(i,i.replace('http://','')))
# 結果
<a href="http://python.org">python.org</a>
<a href="http://pypy.org">pypy.org</a>
<a href="http://cythin.org">cythin.org</a>
スライスを使った要素の代入と削除
- スライスと代入を組みわせると、リストの複数の要素を一括して置換することができる
- 置換対象の要素をイコールの右側に置き、置換したい要素をスライスで左側に指定する
- del文とスライスを組み合わせると、複数の要素をいっぺんに削除することができる
a = [1,2,3,4,5]
a[2:3] = ['Three','Four','Five']
print(a) # [1, 2, 'Three', 'Four', 'Five', 4, 5]
a = [1,2,3,4,5]
a[2:4] = ['Three','Four','Five']
print(a) # [1, 2, 'Three', 'Four', 'Five', 5]
文字列型の比較について
・"100">200のような比較を書いて自動的に文字列を数値に変換されることはない。Java同様、キャストする必要がある。
・文字列を不等号で比較するとき(比較するときがあるかどうかはさておき)、Pythonが文字列を内部で文字コードに置き換えて比較する.
>>> "10" <= "112"
True
>>> "120"<="23"
True
>>> "10" == "10"
True
>>> "10" == "11"
False
Pythonの文字列と日本語
Pythonが日本語文字列に対して、どのような扱いをするのか簡単に紹介
バイト型について
- プログラム外部に文字列を出力するとき(または外部から文字列を取り入れるとき)、何らか(UTF-8等)のエンコード変換されている
- Python3では、すべての文字列はユニコードとして保存され,エンコードされた文字はバイト型という(特殊な)文字列オブジェクトになる
- 文字列オブジェクトでは、日本語(マルチバイト文字列であるが)は「1文字の長さが1」、バイト型は「1バイトの長さが1」
s = "AΩ語"
len(s) # 3
bs = s.encode("UTF-8")
print(len(bs)) # 6
print(bs) # b'A\xce\xa9\xe8\xaa\x9e'