コード一覧

【Python】リスト内の文字を数字に変換してリストに戻す方法

文字を数字に変換する

1位、圏外、34位というリストがあるとします。
これを数字だけにしたい場合、以下のようにすると数字に変換されます。

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("正規表現パターン", "置換後文字列", "置換したい文字列")

変換した文字を新しいリストに入れたい時

変換まで終わったら、新しいリストを準備して、数字だけをリストに入れます。

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)