[Baypiggies] Pythonic way to iterate over two lists?
c1 at caseyc.net
Tue Jun 7 06:33:51 CEST 2011
I should add, I'm actually more interested in a list of (job, machine)
tuples, since that's added to a queue and sent to a threadpool.
On 6/6/11 9:32 PM, Casey Callendrello wrote:
> Hi there,
> I've got a simple problem that I've already solved effectively, but I
> can't help thinking that there must be a more "pythonic" way to do it.
> Especially because my solution uses a list index, which I *know* can't
> possibly be the Python way ;-).
> In any case, I have two lists: one of machines, and one of jobs.
> Either one can be of arbitrary length, including zero. I want to
> generate (machine, job) pairs where every machine gets at most one
> job, each job is only executed once, and as much work as possible is
> done. The actual index or order is irrelevant.
> The simple, C-inspired solution is:
> i = 0
> while i<len(jobs) and i<len(machines):
> do_job(jobs[i], machines[i])
> i += 1
> There has to be a cleaner way than that! Any suggestions?
> Baypiggies mailing list
> Baypiggies at python.org
> To change your subscription options or unsubscribe:
More information about the Baypiggies