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 C, .... ....]
Var2 [1 2 3]
where A and B are at a variable length and I'm trying to join them together like:``
`
C [A+1 A+2 A+3
B+1 B+2 B+3
C+1 C+2 C+3
Here's what I've tried
for param in np.nditer(Var2):
List = np.append(np.core.defchararray.add(Var1, Var2))
So I'm trying to add them together and then create a list of lists, but this isn't working. any ideas how to do this?
解决方案
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='
For this small example the list comprehension version is faster.