Apakah ada cara untuk mensubstring string dengan Python, untuk mendapatkan string baru dari karakter ke-3 ke akhir string?
Mungkin suka myString[2:end]
?
Ya, ini benar-benar bekerja jika Anda menetapkan, atau mengikat , nama, end
, untuk tunggal konstan, None
:
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
Notasi slice memiliki 3 argumen penting:
- Mulailah
- berhenti
- langkah
Standarnya saat tidak diberikan adalah None
- tetapi kami dapat meneruskannya secara eksplisit:
>>> stop = step = None
>>> start = 2
>>> myString[start:stop:step]
'34567890'
Jika meninggalkan bagian kedua berarti 'sampai akhir', jika Anda meninggalkan bagian pertama, apakah ini dimulai dari awal?
Ya, misalnya:
>>> start = None
>>> stop = 2
>>> myString[start:stop:step]
'12'
Perhatikan bahwa kami menyertakan mulai di slice, tetapi kami hanya naik, dan tidak termasuk, berhenti.
Ketika langkah ini None
, secara default slice menggunakan 1
untuk langkah tersebut. Jika Anda melangkah dengan bilangan bulat negatif, Python cukup pintar untuk beralih dari akhir ke awal.
>>> myString[::-1]
'0987654321'
Saya menjelaskan notasi irisan dengan sangat rinci dalam jawaban saya untuk Menjelaskan irisan notasi Pertanyaan.