前提・実現したいこと
配列の要素(文字列)にある特定の記号が含まれている場合、それを削除した配列を作成しようとしています。
resultという配列を以下の出力を得たいのですが、現在中身がない状態になっています。
['a', 'b', 'c', 'd', 'e']
発生している問題・エラーメッセージ
['a', 'b', 'c', '&', 'b--c', 'a/w', 'd', 's.e', 'e'] result ['a', 'b', 'c', '&', 'b--c', 'a/w', 'd', 's.e', 'e'] candidate ['a', 'b', 'c', '&', 'b--c', 'a/w', 'd', 's.e', 'e'] result []
該当のソースコード
Python
1import re 2 3ans = ['a', 'b', 'c', '&', 'b--c', 'a/w', 'd', 's.e', 'e'] 4 5#参照 6candidate = [] 7#操作 8result = [] 9 10candidate = ans.copy() 11result = ans.copy() 12print('candidate') 13print(candidate) 14print('result') 15print(result) 16 17#resultは要素を変えていく配列のため、変えない配列としてcandidateを用意 18for i in range(len(candidate)): 19 20 elm = candidate[i] 21 if re.search('--', elm): 22 result.remove(elm) 23 elif re.search('/', elm): 24 result.remove(elm) 25 elif re.search('.', elm): 26 result.remove(elm) 27 elif re.search('&', elm): 28 result.remove(elm) 29 30print('candidate') 31print(candidate) 32print('result') 33print(result)
試したこと
<re.Match object; span=(1, 3), match='--'>
マッチしたものが判別されているかどうかというのは確認しましたが、現状のコードをどう変更すればいいのか、わからない状態です。
python
1import re 2 3ans = ['a', 'b', 'c', '&', 'b--c', 'a/w', 'd', 's.e', 'e'] 4 5#参照 6candidate = [] 7#操作 8result = [] 9 10candidate = ans.copy() 11result = ans.copy() 12print('candidate') 13print(candidate) 14print('result') 15print(result) 16 17#resultは要素を変えていく配列のため、変えない配列としてcandidateを用意 18for i in range(len(candidate)): 19 20 elm = candidate[i] 21 22 print(re.search('--', elm))
補足情報(FW/ツールのバージョンなど)
Python 3.7.4
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。