Python'da bir dizeyi alt dizeye ayırmanın, üçüncü karakterden dizenin sonuna kadar yeni bir dize elde etmenin bir yolu var mı?
Belki myString[2:end]
gibi?
İkinci bölümden ayrılmak 'sonuna kadar' anlamına geliyorsa ve ilk bölümden ayrılırsanız, baştan mı başlar?
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'
Python bu kavramı "slicing" olarak adlandırır ve sadece dizelerden daha fazlası üzerinde çalışır. Kapsamlı bir giriş için buraya bir göz atın.
Burada bir örnek eksik gibi görünüyor: tam (sığ) kopya.
>>> x = "Hello World!"
>>> x
'Hello World!'
>>> x[:]
'Hello World!'
>>> x==x[:]
True
>>>
Bu, dizi türlerinin (iç içe geçmiş dizelerin değil) bir kopyasını oluşturmak için kullanılan yaygın bir deyimdir, [:]
. Bir listeyi sığ kopyalar, bkz Python liste dilimi sözdizimi açık bir neden olmadan kullanılır.
"end" dışında her şeyi doğru anladınız. Buna dilim gösterimi denir. Örneğiniz şöyle olmalı:
new_sub_string = myString[2:]
İkinci parametreyi atlarsanız, dizenin sonu dolaylı olarak gösterilir.