Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #11718 > unrolled thread

Re: pairwise combination of two lists

Started byKev Dwyer <kevin.p.dwyer@gmail.com>
First post2011-08-17 22:33 +0100
Last post2011-08-17 22:33 +0100
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: pairwise combination of two lists Kev Dwyer <kevin.p.dwyer@gmail.com> - 2011-08-17 22:33 +0100

#11718 — Re: pairwise combination of two lists

FromKev Dwyer <kevin.p.dwyer@gmail.com>
Date2011-08-17 22:33 +0100
SubjectRe: pairwise combination of two lists
Message-ID<mailman.148.1313616838.27778.python-list@python.org>
Yingjie Lin wrote:

> Hi Python users,
> 
> I have two lists:
> 
> li1 = ['a', 'b']
> li2 = ['1', '2']
> 
> and I wish to obtain a list like this
> 
> li3 = ['a1', 'a2', 'b1', 'b2']
> 
> Is there a handy and efficient function to do this, especially when li1
> and li2 are long lists.
> I found zip() but it only gives [('a', '1'), ('b', '2')],  not exactly
> what I am looking for.
> 
> Thank you.
> 
> 
> - Yingjie

Hello Yingjie,

This isn't exactly handy, but...

>>> import itertools
>>> a = ('a', 'b')
>>> b = (1, 2)
>>> [x + str(y) for (x, y) in itertools.product(*(a, b))]
['a1', 'a2', 'b1', 'b2']


Cheers,

Kev

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web