[::-1] în Python cu Exemple

⚡ Rezumat inteligent

[::-1] în Python este o expresie puternică de tip slice care inversează orice tip de secvență. LessAcoperă principiile fundamentale ale indexării, parametrii secțiunilor, diferența dintre a[-1] și a[::-1], inversarea listelor și exemple concrete.

  • 🔁 Reverse Felie: [::-1] folosește pornire în gol, oprire în gol, pasul -1.
  • 📍 Indexare: Indicii pozitivi încep de la zero; cei negativi se numără de la sfârșit.
  • 🆚 [-1] față de [::-1]: [-1] returnează ultimul element; [::-1] returnează întreaga secvență inversată.
  • 📋 Liste și șiruri de caractere: Funcționează pe orice iterabil indexat, inclusiv liste, șiruri de caractere, tupluri, octeți.
  • Rapid și idiomatic: Implementat în C, mult mai rapid decât Python bucle.
  • 🤖 Ajutor pentru fragmente de inteligență artificială: Instrumentele de inteligență artificială explică parametrii secțiunilor și convertesc buclele în secțiuni.

Python Felie Reverse

Ce este [::-1] în Python?

Python are multe sintaxe și aplicații diferite când vine vorba de utilizarea 1. Ar putea fi reprezentat fie ca [-1], sau poate fi descris și ca [::-1].

Parantezele pătrate din notația de mai sus specifică, în general, mai mult de un articol din listă. Când se utilizează paranteze drepte, se specifică fie mai multe elemente, fie un singur articol din listă.

Ori de câte ori un programator definește [::-1], sugerează că programul trebuie să parcurgă de la început până la sfârșit într-o listă dată. Puteți face indexarea în python, ceea ce vă ajută să tăiați o secvență iterabilă, cum ar fi o listă sau un șir.

Care este tipul lui [::-1] în Python?

Există două moduri de a reprezenta 1 în Python, așa cum este descris mai jos: –

  • Poate fi reprezentat într-o paranteză pătrată simplă, fără două puncte și o altă metodă cu sintaxă două puncte.
  • O secvență iterabilă, cum ar fi o listă sau un șir, poate fi analizată la nivel de element folosind paranteze [].
  • În paranteze [], trebuie să furnizați indici diferiți.

Următoarea este sintaxa pentru listă, după cum se arată mai jos: –

Sintaxă: –

SEQUENCE [START: STOP: STEP]

Sintaxa de mai sus este o reprezentare generală. Sintaxa pentru paranteze pătrate fără două puncte este reprezentată după cum urmează:

Sintaxă: –

SEQUENCE [-1]

Sintaxa pentru paranteze pătrate cu două două puncte este reprezentată după cum urmează:

Sintaxă: –

SEQUENCE[::-1]

Explicație: -

  • Parametrul de pornire reprezintă numărul de index de pornire.
  • Parametrul stop reprezintă sfârșitul sau ultimul număr de index.
  • Pasul de parametru este un parametru opțional care oferă un increment pentru o selecție. În sintaxă, numărul de pași este inițializat ca -1.
  • O secvență poate fi un șir, o listă sau un dicționar în sintaxa de mai sus.

Diferența dintre a[-1] și a[::-1] în Python

Un [-1] este folosit pentru indici negativi și ajută la selectarea elementelor în ordine inversă dintr-o listă dată. Semnifică începutul listei de la sfârșitul ordinii inverse. Aici, [-1] înseamnă primul element din ultima poziție. Următorul este un exemplu care explică utilizarea lui A[-1]

Exemplu: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The last element in the list is", b [-1])

ieșire:

The list is [7, 4, 5, 6]
The last element in the list is 6

A[::-1] și A[-1] arată similar în ceea ce privește execuția, dar sunt diferite în ceea ce privește sintaxa. Prima sintaxă are trei parametri, în timp ce a doua sintaxă are doar un singur parametru.

Primii doi parametri prezenți în A[::-1] reprezintă începutul și oprirea unei liste. Dacă parametrii de pornire și oprire sunt omiși, returnează toate elementele din listă.

Acest ultim parametru arată rezultatul în ordine inversă. Acest parametru este opțional.

Următorul este un exemplu care explică utilizarea lui A[::-1]

Exemplu: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reversed list as determined is", b [::-1])

ieșire:

The list is [7, 4, 5, 6]
The reversed list as determined is [6, 5, 4, 7]

Explicaţie:

Cele de mai sus Python codul nu produce aceleași rezultate pentru lista creată. În schimb, oferă o listă inversă pentru lista de bază furnizată ca valoare de intrare.

Diferența de mai sus depinde de PythonRegulile de indexare ale lui / ...

Cum se efectuează indexarea în Python?

Pentru a accesa un articol dintr-o listă python iterabilă, este necesar să efectuați indexarea în listă sau să utilizați un index așa cum este aplicat cu poziția articolului prezent în listă.

Python efectuează indexarea pe bază de zero pentru liste. În cazul indexării pe bază de zero, primul element din listă este atribuit ca poziție 0.

Să luăm un exemplu și să încercăm să accesăm începutul și al doilea element dintr-o listă Python.

Exemplu: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

ieșire:

The list is [7, 4, 5, 6]
The reverse ordered list as determined is [6, 5, 4, 7]
The second found item in the list is 4
The first or beginning item in the list is 7

Explicaţie:

După cum se vede în codul de mai sus, pentru a accesa primul element din listă, 0 a fost aplicat ca index în pătratul tipului de listă. În mod similar, 1 a fost aplicat ca index în pătratul tipului de listă pentru a accesa al doilea element al listei. Indexarea listei se poate aplica și la dicționare, șiruri și tupluri.

Să luăm un exemplu de indexare a tip șir în python.

Exemplu:

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

ieșire:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is U
The first or beginning item in the list is G

Explicaţie:

După cum sa văzut mai sus, ieșirea partajează primul și al doilea element al șirului „GURU99”. Un șir trebuie inițializat folosind ghilimele duble. Python de asemenea, ne permite să efectuăm indexarea negativă a listelor, șirurile de caractere sau dicționarelor iterabile.

Prin furnizarea unui index negativ, se poate accesa ultimul, precum și ultimul element al listei. Să luăm un exemplu de indexare negativă a unui șir, așa cum se arată mai jos.

Exemplu: -

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [-2])
print (" The first or beginning item in the list is", b [-1])

ieșire:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is 9
The first or beginning item in the list is 9

Indexarea returnează un element; secționarea returnează un interval.

Rolul de a tăia Python

Cu cuvinte mai simple, o felie înseamnă a tăia ceva. Permite tăierea unei liste în python.

Aici, cât de importantă este tăierea Python:

  • Permite accesul la anumite elemente ale unei liste iterabile sau ale unui șir.
  • De asemenea, ajută la ștergerea și modificarea șirului sau a unei liste.
  • Face ca secvența iterabilă să fie concisă și lizibilă.
  • Ne permite să accesăm mai multe articole în comparație cu un singur element în cadrul conceptului de indexare.
  • Utilizează indici pentru a procura anumite intervale de articole în secvența iterabilă.
  • Indicii din python sunt întotdeauna bazați pe zero, indiferent dacă fac feliere sau indexare pe o secvență iterabilă.

Tăierea poate fi realizată în două forme de bază.

  • Prima formă este de a furniza parametrii de pornire și oprire ai unei secvențe. Procedând astfel, secvența ar returna toate elementele posibile între începutul secvenței și oprirea [sfârșitul -1] a secvenței.
  • A doua metodă este de a furniza parametrii indexului de pornire și oprire a secvenței împreună cu pasul. Un pas permite returnarea articolelor specifice sau selectate într-un interval de articole între început și oprire.

Următoarea este sintaxa pentru prima formă de feliere: –

Sintaxă:

SEQUENCE [START: STOP]

Următoarea este sintaxa pentru a doua formă de feliere: –

Sintaxă:

SEQUENCE [START: STOP: STEP]

Să luăm exemplul primei forme de exemplu de feliere, așa cum se arată mai jos.

Exemplu

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:3]
print (" The substring in the list is", Substring)

ieșire:

The list is GURU99
The substring in the list is GUR

Să luăm exemplul celei de-a doua forme de exemplu de feliere, așa cum se arată mai jos.

Exemplu

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:9:2]
print (" The substring in the list is", Substring)

ieșire:

The list is GURU99
The substring in the list is GR9

Python efectuează, de asemenea, tăierea negativă pentru o secvență iterabilă. Vă permite să accesați o serie de elemente sau elemente de la sfârșitul secvenței.

Să luăm un exemplu pentru a accesa ultimele trei elemente din secvență, așa cum se arată mai jos.

Exemplu

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[-5:-1]
print (" The substring in the list is", Substring)

ieșire:

The list is GURU99
The substring in the list is URU9

Cum se inversează a Python listă folosind [::-1] în Python?

Tăierea negativă și indexarea negativă pot fi aplicate pentru a inversa un șir sau o listă în python. Să luăm un șir numit „GURU99” pentru a ilustra un exemplu.

Exemplu

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[::-1]
print (" The reverse of string GURU99 is", Substring)

ieșire:

The list is GURU99
The substring in the list is 99URUG

Explicaţie:

Aici, codul preia toate elementele șir din ultima poziție. Începe cu -1 și preia toate elementele sau elementele din ultima poziție. Linia de cod de mai sus îi spune lui python să se îndepărteze de la ultimul element și să urce la primul element, ceea ce are ca rezultat o listă inversă sau un șir.

Exemplu de [::-1] în Python

Se poate folosi felierea sau indexarea pentru a extraco listă mai mică dintr-o listă mai extinsă. În mod similar, poate fi folosită pentru a exprimatracun subșir dintr-un șir mai mare.

Să luăm un exemplu despre cum se folosește 1 în Python pentru a extraco listă mai mică dintr-o listă mai mare:

Exemplu

Python Code:

b = [1, 2, 3, 4, 5, 6, 7]
slist = b[1::]
print("the smaller list from larger list is:",slist)

ieșire:

the smaller list from the larger list is: [2, 3, 4, 5, 6, 7]

Explicaţie:

În codul de mai sus, lăsând primul index, python extrac`ts` execută o indexare cu `ts` pentru toate elementele începând de la poziția 2 a listei și creează o listă mai mică. Acest lucru s-a întâmplat deoarece Python respectă indexarea zero atunci când aplică indexuri pozițiilor elementelor listate.

Întrebări frecvente

Este o secțiune fără început, fără sfârșit și cu pas de -1. Returnează o nouă secvență cu toate elementele în ordine inversă.

Asistenții de inteligență artificială precum Copilot și ChatGPT explică parametrii de pornire, oprire și pas și convertesc buclele for detaliate în expresii concise de tip slice.

Da. Instrumentele de inteligență artificială recomandă utilizarea funcției list(reversed(seq)) atunci când lizibilitatea este mai importantă decât concizia și explică compromisurile dintre timp și memorie pentru fiecare.

a[-1] returnează doar ultimul element. a[::-1] returnează întreaga secvență inversată.

Da. Funcționează pe orice tip de secvență, inclusiv liste, șiruri de caractere, tupluri, octeți și matrici de octeți. Secvența returnată își păstrează tipul original.

Secționarea este în general mai rapidă deoarece rulează în C și returnează un obiect complet. reversed() returnează un iterator leneș care este prietenos cu memoria, dar mai lent.

Nu. Secționarea returnează o nouă secvență. Lista, șirul sau tuplul original este lăsat intact. Folosește list.reverse() pentru inversarea in situ a listelor.

Da. NumPy acceptă aceeași sintaxă pentru felii, returnând o vizualizare inversată în loc de o copie. Folosește .copy() dacă ai nevoie de un array independent.

Rezumați această postare cu: