2013-12-17 2 views
16

Come posso convertire in tuple 3-Dimensinal in un arrayPython convertire tuple di serie

a = [] 
a.append((1,2,4)) 
a.append((2,3,4)) 

in un array come:

b = [1,2,4,2,3,4] 
+0

3 tupla tridimensionale? –

+0

La tua lista mostra un elenco di tuple (vagamente 2D-ish) – jmetz

+0

Come faccio a ottenere il primo elemento? come b = [1,2] – Samy

risposta

22

Utilizzando list comprehension:

>>> a = [] 
>>> a.append((1,2,4)) 
>>> a.append((2,3,4)) 
>>> [x for xs in a for x in xs] 
[1, 2, 4, 2, 3, 4] 

Utilizzando itertools.chain.from_iterable:

>>> import itertools 
>>> list(itertools.chain.from_iterable(a)) 
[1, 2, 4, 2, 3, 4] 
4

Se vuoi dire array come in ordine NumPy, si può anche fare:

a = [] 
a.append((1,2,4)) 
a.append((2,3,4)) 
a = np.array(a) 
a.flatten() 
7

Il modo più semplice, utilizzare extend metodo.

x = [] 
for item in a: 
    x.extend(item)