En Python, ¿cómo muevo un elemento a un índice definido en una lista?¿Mover un elemento dentro de una lista?
Respuesta
utilizar el método de insert
de una lista:
l = list(...)
l.insert(index, item)
Alternativamente, se puede utilizar una notación de rebanada:
l[index:index] = [item]
Si desea mover un elemento que ya está en la lista a la especificada posición, tendría que eliminarlo e insertarlo en la nueva posición:
l.insert(newindex, l.pop(oldindex))
Solo tenga en cuenta que mover un elemento que ya está en una lista con el método insert/pop tendrá un comportamiento diferente dependiendo de si se mueve hacia adelante o hacia atrás o f la lista. Moviéndose hacia la izquierda, inserta antes el objeto que ha elegido. Pasando a la parte posterior, inserte después del artículo que ha elegido. Verifique el movimiento al final de la lista (error de índice). – MKaras
¿Cómo mover elementos múltiples? Dada una lista a = [1,2,3,4,5,6,7,8,9], cómo transformarla en [1,2, [3,4,5], 6,7,8,9 ]? ¿Se puede hacer esto en un solo paso o con una lista de comprensión? – g33kz0r
@MKaras Probé esto con Python 3.5 y PUEDE insertarlo en "último índice + 1" sin errores. El elemento solo se agrega a la lista en ese caso. – user2061057
Una solución un poco más corto, que sólo mueve el elemento al final, no en cualquier lugar es la siguiente:
l += [l.pop(0)]
Por ejemplo:
>>> l = [1,2,3,4,5]
>>> l += [l.pop(0)]
>>> l
[2, 3, 4, 5, 1]
También podría usar 'l.append (l.pop (0))'. Solo es un poco más largo, pero es mucho más legible. – CoreDumpError
@CoreDumpError Sí, eso hace lo mismo. Aprendí la sintaxis '+ =' significativamente antes del '.append()', de ahí mi sesgo para usarlo. – Tim
Si no saben la posición del elemento, puede ser necesario para encontrar el índice de la primera:
old_index = list1.index(item)
luego moverlo:
list1.insert(new_index, list1.pop(old_index))
o en mi humilde opinión una forma más limpia:
try:
list1.remove(item)
list1.insert(new_index, item)
except ValueError:
pass
Una solución muy simple, pero usted tiene que saber el índice de la posición original y el índice de la nueva posición:
list1[index1],list1[index2]=list1[index2],list1[index1]
Esto es un intercambio, no un movimiento. – juzzlin
- 1. ¿Cómo mover un elemento en una lista en Haskell?
- 2. lista Mover elemento al final de STL
- 3. Buscar la posición de un elemento dentro de una lista
- 4. Anexar un nuevo elemento a una lista dentro de una lista
- 5. ¿Cómo mover un elemento en NSMutableArray?
- 6. Mover elementos entre carpetas en una lista de SharePoint 2010
- 7. Mover un elemento completo con lxml.etree
- 8. winform mover una imagen dentro de un cuadro de imagen
- 9. cómo mover un elemento de vista de lista hacia arriba o hacia abajo con un clic
- 10. Mover archivo dentro de Vim
- 11. Mover un elemento DOM con append()?
- 12. Seleccionar un solo elemento de una lista
- 13. Una lista dentro de un ExpandoObject
- 14. Mover ImageView dentro de RelativeLayout
- 15. jQuery - mover a un lugar determinado elemento
- 16. Compruebe si un elemento está dentro de una secuencia
- 17. jQuery mover elemento de la lista al final de la lista
- 18. Comprobar si un elemento de la lista de Python contiene una cadena dentro de otra cadena
- 19. Buscar un elemento en una lista Lua
- 20. MongoDB: ¿cómo consultar un elemento anidado dentro de una colección?
- 21. java lista de un elemento
- 22. Cuál es la forma más rápida de mover una región rectangular (píxel) dentro de un elemento de lienzo HTML5
- 23. ¿Cómo alinear verticalmente un elemento dentro de una lista usando el diseño relativo?
- 24. seleccionar un elemento de una columna personalizada de una lista
- 25. Mover el texto dentro de una entrada de texto
- 26. Cómo mover el elemento HTML
- 27. Python: Reemplazar un elemento en una lista de listas (# 2)
- 28. Mover un miembro de una lista al frente de la lista
- 29. Centrar una imagen dentro de un elemento de anclaje
- 30. ¿Es posible poner una lista dentro de una etiqueta span?
duplicado posible de [ ¿Sintaxis simple para traer un elemento de lista al frente en python?] (Https://stackoverflow.com/questions/1014523/simple-syntax-for-bringing-a-list-element-to-the-front-in-python) –