我遇到的帖子演示了如何在列表中找到一个字符串并替换,但我很难将搜索概括为一个字符串.
例如
listX = ['color green', 'shape circle', 'above t']
Run Code Online (Sandbox Code Playgroud)
我想找到所有以'above'开头的字符串,我已经能够使用any并留下以下空间对列表进行一些最小的搜索,'above '但我无法弄清楚如何替换我找到的内容.
我正在尝试创建的输出将是:
['color green', 'shape circle', 'above']
Run Code Online (Sandbox Code Playgroud)
我还想弄清楚如何从列表中一起删除以'above'开头的字符串.
['above' if x.startswith('above') else x for x in listX]
Run Code Online (Sandbox Code Playgroud)
如果您想删除所有以字符串开头的字符串,'above'那么您可以执行类似@JonClements在评论中提到的内容:
[x for x in listX if not x.startswith('above')]
Run Code Online (Sandbox Code Playgroud)
或者:
from itertools import filterfalse
list(filterfalse(lambda x: x.startswith('above'), listX))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |