Wat is de betekenis van “int (a [:: – 1])” in Python? [DUPLICEER]

Ik kan dit niet begrijpen. Ik heb dit in de code van mensen gezien. Maar kan niet achterhalen wat het doet. Dit is in Python.

str(int(a[::-1]))

Antwoord 1, Autoriteit 100%

Aangenomen van ais een touw. De slice-notatie in Python heeft de syntaxis –

list[<start>:<stop>:<step>]

Dus, wanneer u a[::-1]doet, begint het van het einde naar het eerste het nemen van elk element. Dus het keert een keer om. Dit is ook van toepassing op lijsten / tuples.

Voorbeeld –

>>> a = '1234'
>>> a[::-1]
'4321'

Dan converteer je het naar INT en vervolgens terug naar String (hoewel je niet zeker weet waarom je dat doet), dat geeft je gewoon de tekenreeks.


Antwoord 2, Autoriteit 23%

De notatie die wordt gebruikt in

a[::-1]

betekent dat u voor een bepaalde reeks / lijst / tuple het genoemde object kunt snijden met behulp van het formaat

<object_name>[<start_index>, <stop_index>, <step>]

Dit betekent dat het object elke “Step” -index van de opgegeven start-index zal plakjes, tot aan de stop-index (exclusief de stop-index) en deze aan u retourneert.

Als de startindex of stop-index ontbreekt, wordt de standaardwaarde in beslag genomen als de startindex en de stopindex van de gegeven string / lijst / tuple. Als de stap leeg is, duurt het de standaardwaarde van 1 d.w.zwel door elke index.

dus,

a = '1234'
print a[::2]

zou

afdrukken

13

Nu de indexering hier en ook de stappencellen, ondersteunen negatieve getallen. Dus, als u een -1-index geeft, vertaalt het naar LEN (A) -1-index. En als u -x -x als stapeltelt, dan zou het elke X’TH-waarde uit de startindex stappen tot de stop-index in de omgekeerde richting. Bijvoorbeeld

a = '1234'
print a[3:0:-1]

Dit zou terugkeren

432

Opmerking, dat het geen 4321 terugkeert omdat de stop-index niet is inbegrepen.

Nu in uw geval,

str(int(a[::-1]))

zou gewoon een bepaald geheel getal omkeren, dat in een tekenreeks is opgeslagen en vervolgens terug naar een string

I.E “1234” – & GT; “4321” – & GT; 4321 – & GT; “4321”

Als wat u probeert te doen, is gewoon de gegeven string omkeren, dan is gewoon een [:: – 1].

Other episodes