Johan Hahn wrote: > Hi > > As far as I can tell from the archive, this has not been discussed before. > This is the second time in less than a week that I have stumbled over the rather > clumsy syntax of extracting some elements of a sequence and at the same time > remove those from the sequence: > >>>>L = 'a b 1 2 3'.split(' ') >>>>a,b,L = L[0], L[1], L[2:] > > > I think it would be nice if the following was legal: > >>>>a,b,*L = 'a b 1 2 3'.split(' ') >>>>a, b, L > > ('a', 'b', ['1', '2', '3']) Hmm - I just had a thought about this. Is it worth adding a "len" argument to list.pop? (The idea was inspired by Martin's use of list.pop to handle the above case). With that change, the above example would become: a, b = L.pop(0, 2) At the moment, list.pop is described as equivalent to: x = L[i]; del L[i]; return x with this change, it would be: x = L[i:i+n]; del L[i:i+n]; return x By default, n = 1, so the standard behaviour of list.pop is preserved. Cheers, Nick. -- Nick Coghlan | Brisbane, Australia Email: ncoghlan at email.com | Mobile: +61 409 573 268
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4