2017-02-09 17 views
0

リスト内の各文字列は、以下の二つのタグに対応します:のPython ::スプリット文字列は

['Club house', 'Folk Pop']['alternative rock', 'electro']

私は私がリストを分割することができます知っている:

for t in tags: 
    tag = t.split("") 

しかし、それはタグの意味を混乱させるでしょう。

が、私はそうのように、""ある特定のスペースを使用してそれらを分割することができる方法があります:

tags = ['Club House Folk Pop ', 'alternative rock electro ']

    ^       ^
        |        | 
        |        | 
        here       here 
+1

"正しい"ジャンルとは何でしょうか?あなたは有効なジャンルのリストを持っていますか? –

+0

それはいつも第2スペースですか? *ファースト*ジャンルが単一の単語(例えば、「エレクトロニックオルタナティブロック」)の場合はどうなりますか?おそらく、既知のジャンルのリスト(可能な場合)に一致するものを見つけることをお勧めします。 – Mac

+1

[指定された文字のn番目の出現時の分割文字列]の重複の可能性あり(http://stackoverflow.com/questions/17060039/split-string-at-nth-occurrence-of-a-given-character) –

答えて

0

それは第二の空間の後に常にあると仮定すると、あなたが使用してリストを分割することができます次:これは何

x = [[" ".join(tag.split(" ")[:2]) , " ".join(tag.split(" ")[2:])] for tag in tags] 

は、リスト内のすべてのアイテムを反復処理され、その後、スペースでその項目を分割します。次に、最初の2つの要素と、最後の2つの要素を超えたものすべてを結合します。投稿したサンプルデータがデータセット全体を表すものと仮定すると、これはうまくいくはずです。

関連する問題