"M.-A. Lemburg" <mal@lemburg.com> writes: > Michael Hudson wrote: > > 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. > > Just curious: how would you get at the deleted value when > using .popfirstkey() ? You wouldn't. I was thinking of the dict-as-sets code that was being flung around earlier. > But you have a point: dict.pop() returning the first filled slot > in the dictionary as tuple (key,value) would probably be most > effective. It's also nice and short. Yes. > > 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). > > No, the point is that you can modify the dictionary within > the loop. You wouldn't see any changes using the second technique. I was trying to make an analogy between .firstkey/.firstitem and .keys/.items - the for k,_ in dict.items(): ... was meant to be compared to for k in dict.keys(): ... Sorry for being obscure. Cheers, M. -- "declare"? my bogometer indicates that you're really programming in some other language and trying to force Common Lisp into your mindset. this won't work. -- 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