W języku Python, jak przenieść element do określonego indeksu na liście?Przenieść pozycję na liście?
Odpowiedz
Użyj metody insert
wykazu:
l = list(...)
l.insert(index, item)
Alternatywnie, można użyć notacji plasterka:
l[index:index] = [item]
Jeśli chcesz przenieść element, który znajduje się już na liście, aby określony pozycja, musisz go usunąć i wstawić na nową pozycję:
l.insert(newindex, l.pop(oldindex))
Pamiętaj, że przenoszenie elementu już na liście za pomocą metody wstawiania/popowania będzie miało inne zachowanie w zależności od tego, czy poruszasz się w przód czy w tył o f lista. Przesuwając się w lewo, wstawiasz przed wybranym obiektem. Przechodząc do tyłu, wstawiasz po wybranym elemencie. Sprawdź, czy przejście do końca listy (błąd indeksu). – MKaras
Jak przenosić wiele elementów? Biorąc pod uwagę listę a = [1,2,3,4,5,6,7,8,9], jak przekształcić ją na [1,2, [3,4,5], 6,7,8,9 ]? Czy można to zrobić w jednym kroku lub ze zrozumieniem listy? – g33kz0r
@MKaras Testowałem to z Pythonem 3.5 i możesz wstawić do 'ostatniego indeksu + 1' bez błędów. W takim przypadku element jest po prostu dołączany do listy. – user2061057
Nieco krótsze rozwiązanie, które tylko przesuwa pozycję do końca, nie wszędzie jest taka:
l += [l.pop(0)]
Na przykład:
>>> l = [1,2,3,4,5]
>>> l += [l.pop(0)]
>>> l
[2, 3, 4, 5, 1]
Równie dobrze możesz użyć 'l.append (l.pop (0))'. Jest tylko nieznacznie dłuższy, ale jest o wiele bardziej czytelny. – CoreDumpError
@CoreDumpError Tak, to robi to samo. Nauczyłem się składni '+ =' znacznie przed '.append()', stąd moje nastawienie do jej używania. – Tim
Jeśli nie znamy położenie elementu, ty może trzeba znaleźć indeks pierwszy:
old_index = list1.index(item)
następnie przenieść go:
list1.insert(new_index, list1.pop(old_index))
lub IMHO czystszy sposób:
try:
list1.remove(item)
list1.insert(new_index, item)
except ValueError:
pass
Rozwiązanie bardzo proste, ale trzeba wiedzieć, indeks pozycji wyjściowej oraz wskaźnik nowej pozycji:
list1[index1],list1[index2]=list1[index2],list1[index1]
To jest wymiana, a nie ruch. – juzzlin
- 1. Pierwsze pozycję na liście
- 2. Znaleźć pozycję elementu na liście
- 3. Użyj LINQ, aby przenieść pozycję na górę listy
- 4. Uzyskaj pozycję widoku absolutnego na liście ViewView
- 5. Dopasuj jedną pozycję na liście krotek
- 6. Edycja pozycję na liście <T>
- 7. Jak przenieść pozycję środkową mapie google
- 8. Jak przenieść wiersz DataTable na pierwszą pozycję jego DataTable
- 9. dodać pozycję w liście tablicowej Androida
- 10. Znajdź pozycję na liście leków generycznych poprzez określenie wielu warunków
- 11. Jak uzyskać pozycję wyniku na liście po zamówieniu?
- 12. Jak zmienić pozycję dwóch pozycji na liście Pythona?
- 13. Wyłączony element na liście obrotów
- 14. znajdź indeks int na liście
- 15. Utrzymuj pozycję przewijania w liście, gdy nowe elementy dodawane
- 16. W Pythonie znaleźć pozycję w liście dicts korzystając Przepoławiana
- 17. python - znajdź pozycję indeksu na liście na podstawie częściowego ciągu znaków
- 18. JQuery - Jak przenieść li na inną pozycję w ul? (wymiana 2 li)
- 19. Jak przenieść kursor na ostatnią pozycję w polu tekstowym w JavaScript?
- 20. Jak przenieść WM na Wayland?
- 21. Przenieść konstruktora na zniszczony obiekt?
- 22. Jak przenieść element na NSMutableArray?
- 23. C# Przenoszenie części pozycji na liście
- 24. Powrót max powtarzane pozycja na liście
- 25. ItemTemplate nie wpływa na wybraną pozycję AutoCompleteBox
- 26. odjąć wszystkie pozycje na liście przed siebie
- 27. Uzyskiwanie indeksu elementu na liście tablic;
- 28. Czekają na liście zadań
- 29. Obrazy na liście rozwijanej
- 30. foreach na liście [C#]
Możliwy duplikat [ Prosta składnia do wprowadzenia elementu listy na wierzch w pythonie?] (Https://stackoverflow.com/questions/1014523/simple-syntax-for-bring-a-list-element-to-the-front-in-python) –