1. ホーム
  2. python

[解決済み] 文字列リストの要素から末尾の改行を削除する

2022-05-09 03:31:17

質問

大量の単語のリストをフォームに取り込まなければならない。

['this\n', 'is\n', 'a\n', 'list\n', 'of\n', 'words\n']

にして、strip関数を使って、次のようにします。

['this', 'is', 'a', 'list', 'of', 'words']

書いたものがうまくいくと思ったのですが、ずっとエラーが出ています。

リスト'オブジェクトには属性'strip'がありません。

以下は、私が試したコードです。

strip_list = []
for lengths in range(1,20):
    strip_list.append(0) #longest word in the text file is 20 characters long
for a in lines:
    strip_list.append(lines[a].strip())

解決方法は?

リスト内包を使うか

my_list = ['this\n', 'is\n', 'a\n', 'list\n', 'of\n', 'words\n']
stripped = [s.strip() for s in my_list]

または、代わりに map() :

stripped = list(map(str.strip, my_list))

Python 2の場合。 map() は直接リストを返すので、list の呼び出しは必要ありません。Python 3では、リスト内包はより簡潔で、一般によりイディオム的と考えられています。