[*].items() (was: Re: [Python-Dev] Lockstep iteration (original) (raw)

Peter Schneider-Kamp nowonder@nowonder.de
Mon, 14 Aug 2000 04:27:07 +0000


Paul Prescod wrote:

Just van Rossum wrote: > > for indexing in : Let me throw out another idea. What if sequences just had .items() methods? j=range(0,10) for index, element in j.items():

I like the idea and so I've uploaded a patch for this to SF: https://sourceforge.net/patch/?func=detailpatch&patch_id=101178&group_id=5470

For ease of reading: This patch adds a .items() method to the list object. .items() returns a list with of tuples. E.g.:

for index, value in ["a", "b", "c"].items(): print index, ":", value

will print:

0: a 1: b 2: c

I think this is an easy way to achieve looping over index AND elements in parallel. Semantically the following two expressions should be equivalent:

for index, value in zip(range(len(mylist)), mylist):

for index, value in mylist.items():

In opposition to patch #110138 I would call this: "Adding syntactic sugar without adding syntax (or sugar):"

this-doesn't-deserve-new-syntax-ly y'rs Peter

Peter Schneider-Kamp ++47-7388-7331 Herman Krags veg 51-11 mailto:peter@schneider-kamp.de N-7050 Trondheim http://schneider-kamp.de