2017-05-31 11 views
2

Hier ist, was ich versuche zu tun: sagen, dass ich ein Array haben:verketten zwei Listen in einem Array, getrennt durch einen Punkt

import numpy as np 
a = ([['jon','jan','tom','sam'] , ['Jan', 'Feb', 'Mar', 'Apr'] , ['Red', 
'Blu', 'Gre', 'Yel']]); 
np.transpose(a); 

Was ich will, ist, tun concatenate Spalten 1 und 3 in einem neuer 4x1-Array, b, so dass ich die folgende Ausgabe:

b = ['jon.Red' 
     'jan.Blu' 
     'tom.Gre' 
     'sam.Yel'] 

Was ist die beste Methode in python sie Spalten 1 und 3 und kommen zu nehmen, die beiden Strings Trennen eine Periode mit?

Danke für die Hilfe.

Antwort

2

Sie können einfach Liste Verständnis verwenden und zip:

>>> [e0 + '.' + e1 for (e0, e1) in zip(a[0], a[2])] 
['jon.Red', 'jan.Blu', 'tom.Gre', 'sam.Yel'] 
1

Außerdem können Sie etwas tun:

a = ([['jon','jan','tom','sam'] , ['Jan', 'Feb', 'Mar', 'Apr'] , ['Red', 
'Blu', 'Gre', 'Yel']]) 

final = [".".join(k) for k in zip(a[0], a[-1])] 
print(final) 

Ausgang:

['jon.Red', 'jan.Blu', 'tom.Gre', 'sam.Yel'] 
Verwandte Themen