2つのパラメータを使用して文字列を分割する.split()関数を使用する方法があるのだろうかと思いました。2つのパラメータを使用して文字列を分割する方法 - python 3.5
数学の方程式例えば:
のx^2 + 6X-9
それは+を使用して、それを分割することが可能ですか - ? それがリストとして終わるように: [x^2、6x、9]
2つのパラメータを使用して文字列を分割する.split()関数を使用する方法があるのだろうかと思いました。2つのパラメータを使用して文字列を分割する方法 - python 3.5
数学の方程式例えば:
のx^2 + 6X-9
それは+を使用して、それを分割することが可能ですか - ? それがリストとして終わるように: [x^2、6x、9]
あなたの問題を解決するにはregxを使う必要があると思います。
手元にあるサンプルを解答すると、私はアップヴォートします。 – Tobias
@Tobias私はあまりPythonについて知らない。 Javaでは、この問題は正規表現によって簡単に解決されます。 http://www.w3resource.com/python-exercises/re/python-re-exercise-47.php –
.split()
がリストを返すので、返されたリストをもう一度反復処理する必要があります。この関数(下記)は、split
を任意の回数実行できますが、別の答えで述べたように、re
(正規表現)モジュールの使用を検討する必要があります。
from itertools import chain
def split_n_times(s, chars):
if not chars:
# Return a single-item list if chars is empty
return [s]
lst = s.split(chars[0])
for char in chars:
# `chain` concatenates iterables
lst = chain(*(item.split(char) for item in lst))
return lst
正規表現のバージョンはかなり短くなります。これがどうなる
あなたはおそらくあなたがあなたがしようとしている何に役立つ正規表現を学ぶ質問
def multisplit(text, targets):
input = []
output = [text]
for target in targets:
input = output
output = []
for text in input:
output += text.split(target)
return output
に要求しているしたいです。彼らがどのように働くかをより良く感じるために、https://regex101.com/に[+-][^+-]*
のようなもので遊んでください。
ありがとう、私は正規表現を前に与える – skeeto
'split()。split()'? – Tobias
残念ながら、それは応答します - AttributeError: 'list'オブジェクトには属性 'split'はありませんが、提案に感謝 – skeeto
Aha、あなたはもちろんです。なぜあなたは 'split()'の使用を主張していますか? – Tobias