[Python]文字列・リスト操作基礎

基礎をやり直し中です。
文字列・リスト操作で改めて覚えておきたいものなどをメモ。

文字列

最後の一文字を取得

string[-1]

先頭を大文字にする

string.capitalize()
string.title() # 文章の場合、各単語が大文字になる

すべて大文字にする

string.upper()

すべて小文字にする

string.lower()

リスト

リストをソートする

things.sort() # thingsの順番が変わる
new_things = sorted(things) # ソートした新しいリストを生成。thingsの順番は変わらない。

リストを逆順にする

things.reverse() # thingsの順番が変わる

リストを逆順にソートする

things.sort(reverse=True) # thingsの順番が変わる

リストのコピー

new_list = old_list.copy()
new_list = old_list[:]
new_list = list(old_list)

これをしないと、代入先でリストの中身を変更した場合に元のリストの中身も書き換わってしまう。

リストのコピーをしない場合

> old_list = [1,2,3,4,5]
> new_list = old_list
> new_list[0] = 100
> new_list
[100, 2, 3, 4, 5]

> old_list
[100, 2, 3, 4, 5] # new_listの中身を変えたのにold_listまで変わっている

リストのコピーをした場合

> old_list = [1,2,3,4,5]
> new_list = old_list.copy()
> new_list[0] = 100
> new_list
[100, 2, 3, 4, 5]

> old_list
[1, 2, 3, 4, 5] # old_listの中身はそのまま