What is the best way to delete strings in a string list that that match certain pattern?
clp2 at rebertia.com
Fri Nov 6 07:57:03 CET 2009
On Thu, Nov 5, 2009 at 9:23 PM, Peng Yu <pengyu.ut at gmail.com> wrote:
> On Thu, Nov 5, 2009 at 10:25 PM, Chris Rebert <clp2 at rebertia.com> wrote:
>> On Thu, Nov 5, 2009 at 8:19 PM, Peng Yu <pengyu.ut at gmail.com> wrote:
>>> Suppose I have a list of strings, A. I want to compute the list (call
>>> it B) of strings that are elements of A but doesn't match a regex. I
>>> could use a for loop to do so. In a functional language, there is way
>>> to do so without using the for loop.
>>> I'm wondering what is the best way to compute B in python.
>> Since this sounds rather homework-y, I'll only give you a pointer:
> Now, I want to in-place delete elements in A that matches the regex. I
> know that I need to use del. But I'm not sure how to use the
> functional style programming for this problem. Would you please let me
Deletion is an imperative operation which has no direct equivalent in
functional languages, so your question is nonsensical.
To do it functionally, instead of deleting, you simply build a new
list that omits the undesired elements.
See also the built-in function filter().
More information about the Python-list