文字の前に文字列を分割し、の後に文字を分割する方法は、文字です。例えば:文字の前後に文字列を分割する方法は?
x = '846a12'
はどのようにして出力します:
z = ['846','a','12']
問題このケースでは、私は私の機能では、特定の文字(:「」上記の例では、特定の文字)を言及しています。入力が異なる文字(「b」としましょう)では、関数が失敗します。どのようにランダムな文字を扱うことができますか?
ありがとうございました。
文字の前に文字列を分割し、の後に文字を分割する方法は、文字です。例えば:文字の前後に文字列を分割する方法は?
x = '846a12'
はどのようにして出力します:
z = ['846','a','12']
問題このケースでは、私は私の機能では、特定の文字(:「」上記の例では、特定の文字)を言及しています。入力が異なる文字(「b」としましょう)では、関数が失敗します。どのようにランダムな文字を扱うことができますか?
ありがとうございました。
あなたは、セパレータの複数のオカレンスがある場合のために、この種の問題を解決するためのitertools
を使用することができ、例えば:
>>> import itertools as it
>>> [''.join(x) for _, x in it.groupby('846a12', key=lambda c: c=='a')]
['846', 'a', '12']
本当ですか?これは、コメントの他の2つの解決策のいずれかと比較して、ひどい解決策です。それは読みにくく、効率が悪いと私は喜んで賭けているだろう。 –
セパレータの出現が1つしかない場合、 're'ベースの解決策と比較してそれがひどいことはわかりません。 – AChampion
いいえ、リンクされたdupeは、セパレータの複数回出現を処理します。 –
'「846a12'.partition(」A ')'? –
あなたの例は "任意の文字"と何が関係していますか?たとえば、 '846a12b55'が['846'、 'a'、 '12'、 'b'、 '55']に変わったとしますか?あなたは、あなたが望む一般的な事例を適切に示すべきです。 –