1

次のような文字列があります。

A="2+3+4"

分割したいので、+の横に空白を追加する必要があります

A="2 + 3 + 4"
A=A.split()
A=["2","+","3","+","4"]

空白を追加するにはどうすればよいですか? ありがとう!

4

2 に答える 2

3
>>> print (A.replace('+',' + ').split()),
['2', '+', '3', '+', '4']

理由:分割メソッド:Python 3.2.2

>>> A="2+3+4"
>>> print (A.split()),     Org result = ['2+3+4']

あなたが望む結果は['2','+','3','+','4']

splitデフォルトの文字は空白で あるため、Orgの結果が得られます。参照: http ://www.tutorialspoint.com/python/string_split.htm

分割文字として「+」を指定した場合はどうなりますか?

>>> print (A.split('+')),   ['2', '3', '4']   almost but not quite !

>>> print (A.replace('+',' + ')),    2 + 3 + 4

だから私たちがそれらを組み合わせると...

>>> print (A.replace('+',' + ').split())
['2', '+', '3', '+', '4']

これは私があなたが望むと想像する結果です。

于 2012-11-25T16:07:16.577 に答える
3

「+」を「+」に置き換えて、リストに分割することもできます。

A="2+3+4"
A=A.replace('+', " + ")
A=A.split()

またはさらに簡単:

A="2+3+4"
A=list(A)

ただし、2 番目の方法では、すべての文字が互いに分離されることに注意してください。

そのため、 forの代わりにA="123+456"が発生するため、最初のものの方が適している場合があります。['1','2','3','+','4','5','6']['123','+','456']

于 2012-11-25T15:47:47.093 に答える