Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以删除列表中不包含正则表达式字符串的所有项目?
我在考虑可能只返回一个正则表达式字符串,如果没有,则将列表项设为空,然后再次遍历列表以删除所有空条目,但这似乎效率低下。
有什么想法吗?
例如,假设我有:
["cat", "dog", "monkey", "Fred", "sad"]
我写了一个只选择悲伤的正则表达式。我希望(最好)删除所有其他人。
最简单的方法是使用列表推导构造一个新列表:
regex = re.compile(...) new_list = [s for s in old_list if regex.match(s)]
或者,使用filter():
filter()
new_list = filter(regex.match, old_list)