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 a
is 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].