Skip to content Skip to sidebar Skip to footer

Append Two Arrays Together Into One? (numpy/python)

I currently have an array of strings and I'm trying to join it together with another array of strings to form a complete word to do some web parsing. For example:` Var1 [A B

Solution 1:

Is this what you are trying to do:

In [199]: list1 = ['abc','foo','bar']
In [200]: list2 = list('1234')
In [201]: [[a+b for b in list2] for a in list1]
Out[201]: 
[['abc1', 'abc2', 'abc3', 'abc4'],
 ['foo1', 'foo2', 'foo3', 'foo4'],
 ['bar1', 'bar2', 'bar3', 'bar4']]

The equivalent using np.char.add and broadcasting:

In [210]: np.char.add(np.array(list1)[:,None], np.array(list2))
Out[210]: 
array([['abc1', 'abc2', 'abc3', 'abc4'],
       ['foo1', 'foo2', 'foo3', 'foo4'],
       ['bar1', 'bar2', 'bar3', 'bar4']], dtype='<U4')

For this small example the list comprehension version is faster.

Post a Comment for "Append Two Arrays Together Into One? (numpy/python)"