Guido van Rossum <guido@python.org> writes: > > M.-A. Lemburg: > > > Shouldn't be hard to do... the C API for this is already in place: > > > PyDict_Next(). I'd prefer a method .getitem(), though, which then > > > returns a tuple (key, value). > > > > IMO '.pickitem()' would be a better name, since many people would > > think, that 'getitem()' would take some kind of index as parameter. > > Nevertheless I think this is a nice idea, though. > > Pronouncement: > > It is only efficient to get the *first* item, so let's make that > explicit. The method names will be: > > .firstkey() > .firstvalue() > .firstitem() > > Moshe will check in a patch. > > Thinking aloud: > > Would it be useful to also implement popkey(), popvalue(), popitem(), > which would remove the first item and then return the relevant part of > it? I must admit I can't think of a situation where .firstkey would be more useful than .popkey; I thought that this discussion was discussion was inspired by the wish to write code like: while not set.empty(): x = set.popfirstkey() ... Maybe I'm jsut being dense, though. FWIW, I think dict.firstkey() reads better than dict.firstitem()[0] if the former's what you're actually trying to say. Why not write for k,_ in dict.items(): ... ? (Overstating the case slightly for effect, but I hope the point is clear). Cheers, M. -- Arrrrgh, the braindamage! It's not unlike the massively non-brilliant decision to use the period in abbreviations as well as a sentence terminator. Had these people no imagination at _all_? -- Erik Naggum, comp.lang.lisp
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