0

文字列のリストが 2 つあります。これらはデータベース コンテンツから作成されていますが、txt ファイルに読み込むのが困難です。

list_a={u'XYZ-123-456',u'XYZ-123-456',u'XYZ-789-456',....}

list_b={u'Tom \n is creative', u'Sky is blue',....}

私がする必要があるのは、両方のリストの各文字列の先頭にある「u」を取り除き、該当する場合は list_b の各文字列内の \n を取り除くことです。

次に、list_b の各要素を 1 行ずつテキスト ファイルに書き込みます。txt ファイルのタイトルは list_a の要素です。同じタイトルの文字列は、同じ txt ファイルにある必要があります。誰でも助けることができますか?

u を取り除くには pop 関数を使用できると思いますが、文字列内の '\n' はどうですか? また、I/O 機能についても 100% 確信が持てません。サンプル スクリプトを手伝ってくれる人はいますか?

どうもありがとう、Pythonの初心者

4

1 に答える 1

1

ようこそそうそう。

list_a実際にはsetです。{}は、一意のアイテムのリストであることを示します。そのsetため、「リスト」に複数の値が予想される場合は、このタイプが必要ない場合があります。実際のリストが必要な場合は、[...]代わりに「リスト」をカプセル化します{...}

セット内の「u」は、テキストが Unicode であることを示します。これを削除したい場合:

list_a = map(str, list_a)

\n改行を示す制御文字です。これは、コンソールに出力されると改行として表されます。本当に新しい行が必要ない場合は、次のようにします。

list_b= { item.replace('\n','') for item in list_b }

テキストファイルの新しい行に各項目が必要だと思います。もしそうなら:

with open('c:\file.txt', 'w') as file:
    file.write('\n'.join(list_a)) 
    file.write('\n'.join(list_b)) 

非重複の場合、2 つのリストを 1 つのセットにマージします。それらは現在すでに設定されているため、これは機能します。

with open('c:\file.txt', 'w') as file:
    file.write('\n'.join(list_a + list_b)) 
于 2013-01-09T20:46:09.897 に答える