Vai ir veids, kā Python programmā izveidot virknes apakšvirsrakstu, lai iegūtu jaunu virkni no trešā simbola līdz virknes beigām?
Varbūt kā myString[2:end]
?
Ja atstājot otro daļu, tas nozīmē 'līdz galam', un, ja atstāj pirmo daļu, vai tā sākas no sākuma?
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'
Python šo jēdzienu sauc par "slicing", un tas darbojas ne tikai ar virknēm. Apkopojošu ievadu skatiet šeit.
Šķiet, ka šeit trūkst viena piemēra: pilnīga (sekla) kopija.
>>> x = "Hello World!"
>>> x
'Hello World!'
>>> x[:]
'Hello World!'
>>> x==x[:]
True
>>>
Tas ir izplatīts idioms, lai izveidotu kopiju sekvences tipiem (nevis interned virknēm), [:]
. Seklo saraksta kopiju skat. Python saraksta šķēluma sintakse, ko izmanto bez acīmredzama iemesla.
Jums viss ir pareizi, izņemot "end". To sauc par šķēļu pierakstu (slice notation). Jūsu piemērs būtu jālasa šādi:
new_sub_string = myString[2:]
Ja izlaižat otro parametru, tas netieši ir virknes beigas.