0
私は()
構造に複数で始まるリスト内の項目の先頭に追加_「(」
_
を追加しようとしています
list
lst = ['(234A2) or (47) and 86', '(((56 or 2B2E1) and 623) and not 876) or 111']
を持っています
['(_234A2) or (_47) and _86', '(((_56 or _2B2E1) and _623) and not _876) or _111']
私はを追加する方法
lst_split = []
for item in lst:
lst_split = item.split()
append_lst = []
for item in lst_split:
if item[0].isdigit():
item = '_' + item
append_lst.append(item)
append_lst
['_2B2E1)', '_623)', '_876)', '_111']
を試してみました任意の数の(
で始まるアイテムにはが、リストの理解度を使用してこれを達成するためのよりクリーンな方法はありますか?
これは、私が尋ねたまさに行い感謝!私がこれを適用した後、私の言葉の中にアルファベットが入っていることがわかりました(つまり、 '123A423')。このアプローチは' _123A_423'をもたらしました。どのようにアルファ文字を無視し、 '_123A423'の先頭に追加するだけですか?最初の文字は**常に**数値です。申し訳ありませんが、それを指定していない、2M以上の条件があり、私はそれをキャッチしませんでした。 –
'\ d +'パターンは数字列にマッチしますが、用語が複雑な場合は、別のパターンを使用できます。おそらく '\ d \ w *'か何かがあなたの実際の値と一致します(文字と数字の後に "word"文字が続き、アンダースコアと一致します)。より具体的な文字クラスを使うことができます:例えば、\ d [A-Z0-9] 'は数字と首都文字のみを許可します。 – Blckknght
'\ d \ w *'は完全に機能しました。ご協力ありがとうございました! –