私のようなワードトークンのリストを持っている:。空白(例えばと「」文字列ではなくリストの要素をリストしますか?
my_list = [[('abc, 123'), ('def, 456')], [('ghi, 789'), ('abc, 456')]]
を、私は、このようなを交換するなど、正規表現でいくつかの前処理をしたい文字列=再。サブ(R「(、)」、「」、文字列)その後、私は別のリストに再び文字列を追加したいすべてのすべてで、私はそのように見える前処理されたリストを取得したい:。。
my_list_preprocessed = [[('abc 123'), ('def 456')], [('ghi 789'), ('abc 456')]]
を現在、私はそのように実装しようとしました:
my_list_preprocessed = []
for string in my_list:
string = re.sub(r"(,)", " ", str(string))
my_list_preprocessed.append(string)
しかし、意図した結果を得るのではなく、文字列のリストを受け取っています:
my_list = ["['abc 123', 'def 456']", "['ghi 789', 'abc 456']"]
私の意図した結果を得るために改善することはできますか?
さて、あなたは正規表現でoverkillingされています。 "、"を "と置き換えたいだけなら" mystring = mystring.replace( "、"、 "") ' –
私が正しく理解すれば、あなたのリストは文字列アイテムのリストです。最も内側の文字列を反復処理する場合は、ネストループを実行する必要があります。一番外側のループは各内側のリストを反復し、最も内側のループはそのリスト内の各文字列を反復処理します。 項目をタプルにしたい場合を除いて、内部の '('と ')の括弧は実際には必要ありません。その場合は、末尾にカンマを追加する必要があります。 – bow
あなたのコードに誤字が多すぎます...あなたは '[( 'abc、123')、( 'def、456')]'を試していますか? ''(abc '、' 123 ')、(' def '、' 456 ')] '..あなたが現在表示している' my_list'はタプルの要素が1つしかありません。あなたが書いたものが正しいかどうかは重要です。 – Gahan