こんにちは、しらすです。
7日目です。本日の習得スキルは「文字列内に任意の文字を含むかをTrue/Falseで返す」です!
文字列内に任意の文字を含むかをTrue/Falseで返すでできること
文字列内の任意の文字を検索でき、結果をTrue/Falseで取得することができます。
使い方
#変数定義
str_A = "test_abcdef_trial"
#文字列内に任意の文字を含むかを確認
result1 = str_A.find("abc")
if result1 >= 0:
result1 = bool(1) #bool型に変換
else:
result1 = bool(0) #bool型に変換
表示結果
おためし編
1次元、2次元のList型に対して実施
"""""""""
1次元のList型に対して検索
"""""""""
#変数定義
list_A = ["abc","bcd","cde","def"]
result2 = []
#文字列内に任意の文字を含むかを確認(list型を一括処理)
for i in list_A:
result2.append(bool(1) if i.find("b") >= 0 else bool(0)) #if分を一文で記載
"""""""""
2次元のList型に対して検索
"""""""""
#変数定義
matrix_A = [["aaa1","bbb1","ccc1","ddd1"],["aaa2","bbb2","ccc2","ddd2"],["aaa3","bbb3","ccc3","ddd3"]]
result3 =[]
#文字列内に任意の文字を含むかを確認(list型(行列)を一括処理)
for index,content in enumerate(matrix_A):
temp = []
for i in content:
temp.append(bool(1) if i.find("b") >= 0 else bool(0)) #if分を一文で記載
result3.append(temp)
少々強引な方法ではありますが、True/Falseで結果を得ることができました。
任意の文字列を含んでいたらそのままの値を、FalseだったらNAを出力
#変数定義
matrix_B = [["abc1","bcd1","cde1","def1"],["abc2","bcd2","cde2","def2"],["abc3","bcd3","cde3","def3"]]
result4 =[]
#任意の文字を含む場合のみ値を出力、それ以外は"NA"を返す
for index,content in enumerate(matrix_B):
temp = []
for i in content:
temp.append(i if i.find("b") >= 0 else "NA") #返り値を文字列にするだけ
result4.append(temp)
あまり工夫がないのですが、このように特定の文字列を含む場合はそのままの値を、含まない場合はNAを返すように作成することができました。
コメント