文字を数字に変換する
1位、圏外、34位というリストがあるとします。
これを数字だけにしたい場合、以下のようにすると数字に変換されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import re # リスト内の文字 example =["1位","圏外","34位"] # 文字を数字だけに変換する for i in example: # 圏外の場合は100位とする if i =="圏外": i = '100位' #「位」という文字を空欄にする num = re.sub("\\D", "",i) print(num) |
re.sub は以下のようになっています。
re.sub(“正規表現パターン”, “置換後文字列”, “置換したい文字列”)
変換した文字を新しいリストに入れたい時
変換まで終わったら、新しいリストを準備して、数字だけをリストに入れます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import re # リスト内の文字 example =["1位","圏外","34位"] # 空のリストを準備 new_example=[] # 文字を数字だけに変換する for i in example: # 圏外の場合は100位とする if i =="圏外": i = '100位' #「位」という文字を空欄にする num = re.sub("\\D", "",i) # 新しいリストへ変換した数字を追加する new_example.append(num) print(new_example) |