1

私はリストfind_wordsを持っています。

[u'Duration$', u'Noun$', u'Adjective$']

すべての「$」を削除したいので、次のようになります

[u'Duration', u'Noun', u'Adjective']

どうすればこれを行うことができますか?また、「$」も再度追加するにはどうすればよいですか。

4

4 に答える 4

5

これは、リスト内包表記とstr.rstrip():で簡単に行うことができます。

[word.rstrip("$") for word in words]

またはそれらを追加するには:

[word+"$" for word in words]

例えば:

>>> words = ['Duration$', 'Noun$', 'Adjective$']
>>> words = [word.rstrip("$") for word in words]
>>> words
['Duration', 'Noun', 'Adjective']
>>> [word+"$" for word in words]
['Duration$', 'Noun$', 'Adjective$']
于 2012-09-27T16:24:31.163 に答える
3

リスト内包表記はあなたの友達です。

最後の文字だけを削除するword[:-1]か、存在する場合は$を削除するかを選択できword.rstrip('$')ます。これはアプリケーションで定義されます

 words = [u'Duration$', u'Noun$', u'Adjective$']
 result = [word[:-1] for word in words]

また、それを再度追加するには:

 added_back = [word + '$' for word in result]
于 2012-09-27T16:24:56.087 に答える
3
words = [ x[:-1] for x in words ]

各アイテムから最後の文字を削除します

于 2012-09-27T16:24:57.023 に答える
1

それが何であるかに関係なく、最後の文字を削除するには:

find_words = [i[:-1] for i in find_words]

しかし、それが:であることが保証されている場合は、使用する必要がありますrstrip$

find_words = [i.rstrip("$") for i in words]

を追加するには$

find_words = [i + "$" for i in find_words]
于 2012-09-27T16:24:18.667 に答える