From: MRAB on
Bill Jordan wrote:
> Hey guys,
>
> I am sorry if this is not the right list to post some questions. I have
> a simple question please and would appreciate some answers as I am new
> to Python.
>
> I have 2 D array: test = [[A,1],[B,2],[A,3][B,4]]
> I want to arrang this array in different arrays so each one will have
> what is attached to. For example I want the output:
>
> A =[1,3] and B=[2,4]
>
Build a dict of lists, ie the key is the first member of the sublist and
the value is a list of second members of the sublist.
From: cjw on
On 29-Apr-10 14:46 PM, MRAB wrote:
> Bill Jordan wrote:
>> Hey guys,
>>
>> I am sorry if this is not the right list to post some questions. I
>> have a simple question please and would appreciate some answers as I
>> am new to Python.
>>
>> I have 2 D array: test = [[A,1],[B,2],[A,3][B,4]]
>> I want to arrang this array in different arrays so each one will have
>> what is attached to. For example I want the output:
>>
>> A =[1,3] and B=[2,4]
>>
> Build a dict of lists, ie the key is the first member of the sublist and
> the value is a list of second members of the sublist.

You might consider numpy, which is designed for arrays.

Colin W.
From: Terry Reedy on
Anyone responding to this thread, please delete python-dev and
gmane.comp.python.dev from the followup list of where your response is
sent. It should never have been part of this overly cross-posted thread.

From: Jean-Michel Pichavant on
Bill Jordan wrote:
> Hey guys,
>
> I am sorry if this is not the right list to post some questions. I
> have a simple question please and would appreciate some answers as I
> am new to Python.
>
> I have 2 D array: test = [[A,1],[B,2],[A,3][B,4]]
> I want to arrang this array in different arrays so each one will have
> what is attached to. For example I want the output:
>
> A =[1,3] and B=[2,4]
>
> Thanks,
> Bill
>
Did you try anything before asking ? this is a pretty simple problem.

test = [['A',1],['B',2],['A',3], ['B',4]]

arranged ={} # dictionary containing the arranged arrays

for name, value in test: # you better be sure all arrays contain only 2
elements
if name in arranged:
arranged[name].append(value)
else:
arranged[name] = [value]

print arranged
out: {'A': [1, 3], 'B': [2, 4]}

JM