Split a list into two parts based on a filter?

Serhiy Storchaka storchaka at gmail.com
Tue Jun 11 11:28:31 EDT 2013


11.06.13 01:50, Chris Angelico написав(ла):
> On Tue, Jun 11, 2013 at 6:34 AM, Roy Smith <roy at panix.com> wrote:
>> new_songs = [s for s in songs if s.is_new()]
>> old_songs = [s for s in songs if not s.is_new()]
>
> Hmm. Would this serve?
>
> old_songs = songs[:]
> new_songs = [songs.remove(s) or s for s in songs if s.is_new()]

O(len(songs)**2) complexity.





More information about the Python-list mailing list