Concatenating dictionary values and keys, and further operations

Gerard Flanagan grflanagan at yahoo.co.uk
Mon Jun 5 21:19:55 CEST 2006


Gerard Flanagan wrote:
> Girish Sahani wrote:
> > I wrote the following code to concatenate every 2 keys of a dictionary and
> > their corresponding values.
> > e.g if i have tiDict1 = tiDict1 = {'a':[1,2],'b':[3,4,5]} i should get
> > tiDict2={'ab':[1,2][3,4,5]} and similarly for dicts with larger no. of
> > features.
> > Now i want to check each pair to see if they are connected...element of
> > this pair will be one from the first list and one from the second....e.g
> > for 'ab' i want to check if 1 and 3 are connected,then 1 and 4,then 1 and
> > 5,then 2 and 3,then 2 and 4,then 2 and 5.
> > The information of this connected thing is in a text file as follows:
> > 1,'a',2,'b'
> > 3,'a',5,'a'
> > 3,'a',6,'a'
> > 3,'a',7,'b'
> > 8,'a',7,'b'
> > .
> > .
> > This means 1(type 'a') and 2(type 'b') are connected,3 and 5 are connected
> > and so on.
> > I am not able to figure out how to do this.Any pointers would be helpful
>
>
> Girish
>
> It seems you want the Cartesian product of every pair of lists in the
> dictionary, including the product of lists with themselves (but you
> don't say why ;-)).
>
> I'm not sure the following is exactly what you want or if it is very
> efficient, but maybe it will start you off.  It uses a function
> 'xcombine' taken from a recipe in the ASPN cookbook by David
> Klaffenbach (2004).
> 

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/302478




More information about the Python-list mailing list