Hi, Barry A. Warsaw: > >>>>> "KY" == Ka-Ping Yee <pingster@ilm.com> writes: > > > KY> I like this idea. This whole parallel iteration thing could > KY> be solved with a single built-in and no syntax changes. > > KY> for x, y in parallel([10, 20, 30], [1, 2]): > > KY> Or "zip", since you're zipping the lists together (i foresee > KY> potential geometric or concurrency-related interpretations of > KY> "parallel"): > > Definitely +1 on concept. The nice bit is that parallel() or zip() > can return objects that iterate efficiently. -0 on zip(), +0 on > parallel(), +0 on making them builtins. +1 on the concept. -1 on calling it 'zip' (I was first thinking of Info ZIP and zlib). -0 on calling it 'parallel' (makes me thinking of threads and processes). What about calling this function 'permute()'? Here is a strawman to play with: def permute(*args): """takes several sequences as arguments and returns a list of tuples, where each tuple contains an element of each sequence permutated through all possible combinations.""" if len(args) == 1: return map(lambda x:(x,), args[0]) else: res = []; cdr = apply(permute, args[1:]) for left in args[0]: for right in cdr: res.append((left,) + right) return res for x, y in permute([10, 20, 30], [1, 2]): print "x, y =", x, y BTW: How comes, that Ping very often invents or introduces very clever ideas and concepts, but also very often chooses unclear names for them? Is it just me not being a native english speaker? Regards, Peter
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