In Python, come posso spostare un elemento in un indice definito in un elenco?Spostare un elemento in un elenco?
risposta
utilizzare il metodo insert
di una lista:
l = list(...)
l.insert(index, item)
In alternativa, è possibile utilizzare una notazione fetta:
l[index:index] = [item]
Se si desidera spostare un elemento che è già nella lista per il specificato posizione, dovresti eliminarlo e inserirlo nella nuova posizione:
l.insert(newindex, l.pop(oldindex))
Ricorda che lo spostamento di un elemento già in un elenco con il metodo insert/pop avrà un comportamento diverso a seconda che tu stia procedendo in avanti o indietro o f la lista. Spostandoti a sinistra inserisci prima l'oggetto che hai scelto. Spostandoti sul retro inserisci dopo l'oggetto che hai scelto. Controlla di passare alla fine della lista (errore indice). – MKaras
Come spostare più elementi? Dato un elenco a = [1,2,3,4,5,6,7,8,9], come trasformarlo in [1,2, [3,4,5], 6,7,8,9 ]? Questo può essere fatto in un solo passo o con una lista di comprensione? – g33kz0r
@MKaras Ho provato questo con Python 3.5 e tu puoi inserire 'ultimo indice + 1' senza errori. In tal caso, l'elemento viene semplicemente aggiunto all'elenco. – user2061057
Una soluzione leggermente più corta, che si muove solo la voce alla fine, non ovunque è questo:
l += [l.pop(0)]
Ad esempio:
>>> l = [1,2,3,4,5]
>>> l += [l.pop(0)]
>>> l
[2, 3, 4, 5, 1]
Si potrebbe anche usare 'l.append (l.pop (0))'. È solo marginalmente più lungo, ma è molto più leggibile. – CoreDumpError
@CoreDumpError Sì, fa lo stesso. Ho imparato la sintassi '+ =' in modo significativo prima di '.append()', da qui il mio pregiudizio a usarlo. – Tim
Se non si conosce la posizione dell'elemento, è potrebbe essere necessario trovare l'indice prima:
old_index = list1.index(item)
quindi spostarlo:
list1.insert(new_index, list1.pop(old_index))
o IMHO un modo più pulito:
try:
list1.remove(item)
list1.insert(new_index, item)
except ValueError:
pass
Una soluzione molto semplice, ma è necessario conoscere l'indice della posizione originale e l'indice della nuova posizione:
list1[index1],list1[index2]=list1[index2],list1[index1]
Questo è uno scambio, non una mossa. – juzzlin
- 1. Cerca un elemento in un elenco Lua
- 2. Come spostare un elemento in un array MongoDB?
- 3. Come spostare un elemento su NSMutableArray?
- 4. Come spostare un elemento nel DOM?
- 5. Spostare un elemento DOM con append()?
- 6. Come spostare un elemento in Movimento diagonale in jQuery?
- 7. Elimina un elemento da un elenco generico
- 8. Loop per ogni elemento in un elenco
- 9. Come spostare un elemento in una lista vuota usando jquery?
- 10. Spostare un elemento da std :: deque in C++ 11
- 11. Come posso spostare elementi da un elenco a un altro elenco in C#?
- 12. Attività API Google Spostare attività in un elenco diverso
- 13. Dividere un elenco python da un carattere in ogni elemento
- 14. Come aggiungere un elemento a un elenco in Groovy?
- 15. Trovare un elemento in un elenco <> utilizzando C#
- 16. Sostituire un elemento in un elenco solo una volta - Haskell
- 17. Verifica se un elenco contiene un elemento in Ansible
- 18. aggiungere un carattere a ogni elemento in un elenco
- 19. Ricerca dell'indice di un elemento in un elenco scala
- 20. trovare l'ultima occorrenza di un elemento in un python elenco
- 21. Python: elenco zip con un singolo elemento
- 22. Creazione di un elenco con elemento ripetuto
- 23. Aggiungi elemento a un elenco anonimo
- 24. Come aggiungere un elemento alla matrice e spostare gli indici?
- 25. Come spostare un intero elemento div su x pixel?
- 26. Spostare l'attributo aurelia-app su un altro elemento html?
- 27. Spostare un elemento vettoriale sul retro del vettore
- 28. Spostare un elemento di matrice in un nuovo indice in PHP
- 29. CSS: spostare un elemento "float: right" in alto (per allineare con il primo elemento della lista)
- 30. Come trovare un elemento centrale in un elenco di collegamenti senza attraversare l'intero elenco?
Eventuali duplicati di [ Sintassi semplice per portare un elemento della lista in primo piano in python?] (Https://stackoverflow.com/questions/1014523/simple-syntax-for-bringing-a-list-element-to-the-front-in-python –