2017-05-11 3 views
2

ich folgendes Tupel haben:Wie Tupel von Arrays zu einem Diktat zu konvertieren?

t = (array([0, 1, 2, 3], dtype=uint8), array([1568726, 346469, 589708, 91961])) 

, die ich zu einem dict konvertieren bräuchten wie folgt:

dict = {0: 1568726, 1: 346469, 2: 589708, 3: 91961} 

nicht Ich versuche, mit

d = dict((x, y) for x, y in t) 

aber es ist Auflösung der Verschachtelung des Tupels, das ich habe. Irgendwelche Vorschläge?

Another SO question scheint ähnlich zu sein, ist aber nicht: Sein Hauptproblem ist die Umsetzung der dict-Elemente, während diese Frage konzentriert sich darauf, wie zwei Arrays innerhalb eines Tupel zu einem dict beizutreten.

+3

'd = dict (zip (* t))' – inspectorG4dget

+2

Mögliche Duplikat [Python Tuple zu diktieren] (http://stackoverflow.com/questions/3783530/python-tuple-to-dict) – Baalito

Antwort

5

können Sie verwenden zip (Schlüssel-Wert-Paare zu erzeugen) und dict (die Paare in ein Wörterbuch zu konvertieren):

>>> from numpy import array, uint8 
>>> t = (array([0, 1, 2, 3], dtype=uint8), 
     array([1568726, 346469, 589708, 91961])) 
>>> dict(zip(*t)) 
{0: 1568726, 1: 346469, 2: 589708, 3: 91961} 
+0

Danke, das hat gut funktioniert – pepe

+0

@pepe, Gern geschehen. Glückliche Python Programmierung. – falsetru

Verwandte Themen