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 回答