Pelajaran modul (2/4)
Mengiris dan mengindeks
Dalam Python, string adalah urutan karakter: Anda dapat mengakses
karakter individu berdasarkan indeks dan buat substring dengan irisan
sintaks [start:stop:step] — persis seperti daftar.
Indeks positif dan negatif
s = "Python"
# 0123456
# -6-5-4-3-2-1
s[0] # 'P'
s[5] # 'n'
s[-1] # 'n' (ultimo)
s[-2] # 'o' (penultimo)Akses di luar jangkauan menimbulkan IndexError.
Mengiris [start:stop:step]
s = "Python"
s[0:3] # 'Pyt' indici 0,1,2 (stop ESCLUSO)
s[2:] # 'thon' dal 2 alla fine
s[:3] # 'Pyt' dall'inizio fino al 3 (escluso)
s[:] # 'Python' copia completa
s[-3:] # 'hon' ultimi 3
s[:-2] # 'Pyth' tutto tranne gli ultimi 2Berbeda dengan pengindeksan, slicing TIDAK menimbulkan error jika indeksnya keluar jangkauan: ia mengukir apa yang ia bisa.
Argumen ketiga: step
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] adalah cara idiomatis untuk membalikkan string.
Panjang dan penahanan
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # FalseIndeks negatif dan langkah pemotongan
Sintaks lengkap dari slicing adalah s[start:stop:step]. Jika Anda menghilangkan start dan stop tetapi menetapkan step negatif dari -1 (s[::-1]), Anda akan membalik stringnya. Indeks negatif -1 selalu mewakili karakter terakhir dari string, -2 adalah karakter kedua dari terakhir, dan seterusnya.
Cobalah
Diberikan `word = 'PROGRAMMAZIONE'`, dapatkan kebalikannya dalam `reversed_word`. Evaluasi `kata_terbalik`.
Tunjukkan petunjuk
kata[::-1]
Solusi tersedia setelah 3 upaya
Tinjau latihan
Diberikan `email = 'ada@example.com'`, ekstrak domain (semuanya setelah '@') ke dalam `domain` menggunakan pemotongan setelah menemukan indeks dengan .find. Evaluasi `domain`.
Tunjukkan petunjuk
email[email.find('@') + 1:]
Solusi tersedia setelah 3 upaya
Tantangan tambahan
Mengingat string \`word = "pythonista"\`, gunakan pengirisan untuk mengekstrak 3 karakter pertama dan 3 karakter terakhir, dan menggabungkannya menjadi string baru \`short_word\`. Terakhir, evaluasi \`short_word\` (harus menghasilkan \`'pytsta'\`).
Tunjukkan petunjuk
The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.
Solusi tersedia setelah 3 upaya