Respuesta
@ Le La solución de von funciona a la perfección para su caso.
Como nota al margen, si tiene un número variable de elementos en las tuplas, también puede usar chain
desde itertools
.
>>> a = [(1,), (2, 3), (4, 5, 6)]
>>> from itertools import chain
>>> list(chain(a))
[(1,), (2, 3), (4, 5, 6)]
>>> list(chain(*a))
[1, 2, 3, 4, 5, 6]
>>> list(chain.from_iterable(a)) # More efficient version than unpacking
[1, 2, 3, 4, 5, 6]
>>> a = [(1,), (2,), (3,)]
>>> zip(*a)[0]
(1, 2, 3)
Para obtener una lista:
>>> list(zip(*a)[0])
[1, 2, 3]
Aquí es otra alternativa si se puede tener un número variable de elementos en las tuplas:
>>> a = [(1,), (2, 3), (4, 5, 6)]
>>> [x for t in a for x in t]
[1, 2, 3, 4, 5, 6]
Ésta es básicamente una forma abreviada de los siguientes circuitos:
result = []
for t in a:
for x in t:
result.append(x)
La mejor respuesta de lejos, muy conciso/generalizable. Pero la sintaxis es bastante alucinante. ¿Es esa última declaración 'for' análoga a una instrucción' if' posterior en una lista de comprensión, p. '[i para i en el rango (10) si i% 2 == 0]'? Estoy familiarizado con esto último. –
También puede desempaquetar la tupla en la lista de la comprensión:
e = [(1,), (2,), (3,)]
[i for (i,) in e]
se siguen dando:
[1, 2, 3]
siempre hay una manera de extraer una lista de otra lista por ... for
... in
.... En este caso sería:
[i[0] for i in e]
También puede utilizar sum
función como sigue:
e = [(1,), (2,), (3,)]
e_list = list(sum(e,()))
y también trabaja con la lista de listas para convertirlo en una única lista, pero tendrá que usarlo de la siguiente manera:
e = [[1, 2], [3, 4], [5, 6]]
e_list = list(sum(e, []))
Esto le dará [1, 2, 3, 4, 5, 6]
un trazador de líneas yo!
list(*zip(*[(1,), (2,), (3,)]))
>>> a = [(1,), (2,), (3,)]
>>> b = map(lambda x: x[0], a)
>>> b
[1, 2, 3]
Esta es la mejor solución en una línea usando Python funciones integradas
Uso de operador o resumir
>>> import operator
>>> a = [(1,), (2,), (3,)]
>>> list(reduce(operator.concat, a))
[1, 2, 3]
(OR)
>>> list(sum(a,()))
[1, 2, 3]
>>>
- 1. pitón convertir una lista en una lista de tuplas
- 2. convertir la lista de tuplas en varias listas en Python
- 3. Haskell lista de lista de tuplas
- 4. Python: conversión de lista de listas a tuplas de tuplas
- 5. convertir la lista de objetos a la lista de interfaces
- 6. anexar tuplas a una lista
- 7. a juego y eliminar elementos de la lista de tuplas
- 8. Agrupación Python tuplas lista de tuplas
- 9. convertir lista genérica de .NET a la lista de F #
- 10. Convertir la colección a la lista
- 11. Agregar tuple a la lista de tuplas en Python
- 12. Convertir lista de cadenas a la lista int
- 13. vinculando a una lista de tuplas
- 14. Maxima: matriz de convertir a la lista
- 15. Haskell: Convertir a la lista de datos
- 16. Convertir a formato de la lista IEnumerable
- 17. Python - lista de conversiones de tuplas en la cadena
- 18. Python: lista de tuplas en la conversión en un diccionario
- 19. Lista de filtrado de tuplas
- 20. ¿Cómo convertir una colección a la lista?
- 21. Convertir una cola a la lista
- 22. Cómo convertir la lista a ObservableCollection?
- 23. Cómo convertir a la lista cadena
- 24. Scala - convertir Lista de listas en una sola Lista: Lista [Lista [A]] en Lista [A]
- 25. Matriz multidimensional vs. Lista de tuplas de lista
- 26. manera pitónica de convertir la variable a la lista
- 27. Python - lista de tuplas de función/argumento
- 28. ¿La mejor manera de convertir una lista plana en un conjunto de dos tuplas en Erlang?
- 29. convertir una lista plana en la lista de la lista en python
- 30. pitón: lista de tuplas de listas
Posible duplicado de [python - obtener lista de tuplas primer índice?] (Https://stackoverflow.com/questions/10735282/python-get-list-of-tuples-first-index) –