Saya mulai membuat daftar fungsi yang paling sering digunakan, menyelesaikan masalah algoritme di LeetCode dan HackerRank.Menjadi programmer yang baik tidak berarti mengingat semua fungsi bawaan dari bahasa tertentu. Tetapi ini tidak berarti bahwa hafalan mereka tidak berguna. Terutama - ketika datang untuk mempersiapkan wawancara.Hari ini saya ingin berbagi dengan semua orang yang menginginkan lembar contekan saya untuk bekerja dengan string dengan Python. Saya mendesainnya sebagai daftar pertanyaan, yang saya gunakan untuk pengujian diri. Meskipun pertanyaan-pertanyaan ini tidak mengarah pada tugas penuh yang ditawarkan pada wawancara, pengembangannya akan membantu Anda dalam memecahkan masalah pemrograman yang sebenarnya.
1. Bagaimana cara memeriksa dua objek untuk identitas?
Operator is
kembali True
jika referensi ke area memori yang sama ditulis dalam dua variabel. Inilah yang sedang kita bicarakan ketika berbicara tentang "identitas objek".Jangan bingung is
dan ==
. Operator ==
hanya memeriksa persamaan objek.animals = ['python','gopher']
more_animals = animals
print(animals == more_animals)
print(animals is more_animals)
even_more_animals = ['python','gopher']
print(animals == even_more_animals)
print(animals is even_more_animals)
Perhatikan fakta bahwa animals
mereka even_more_animals
tidak identik, meskipun mereka sama satu sama lain.Selain itu, ada fungsi id()
yang mengembalikan pengidentifikasi alamat memori yang terkait dengan nama variabel. Ketika fungsi ini dipanggil, pengidentifikasi yang sama akan dikembalikan untuk dua objek yang identik.name = 'object'
id(name)
2. Bagaimana cara memeriksa bahwa setiap kata dalam satu baris dimulai dengan huruf kapital?
Ada metode string istitle()
yang memeriksa apakah setiap kata dalam string dimulai dengan huruf kapital.print( 'The Hilton'.istitle() )
print( 'The dog'.istitle() )
print( 'sticky rice'.istitle() )
3. Bagaimana cara memeriksa string untuk string lain di dalamnya?
Ada pernyataan in
yang akan kembali True
jika string berisi string pencarian.print( 'plane' in 'The worlds fastest plane' )
print( 'car' in 'The worlds fastest plane' )
4. Bagaimana menemukan indeks kemunculan substring pertama dalam string?
Ada dua metode yang mengembalikan indeks kemunculan pertama sebuah substring dalam string. Ini find()
dan index()
. Masing-masing memiliki fitur tertentu.Metode find()
kembali -1
jika substring yang diperlukan dalam string tidak ditemukan.'The worlds fastest plane'.find('plane')
'The worlds fastest plane'.find('car')
Metode index()
dalam situasi seperti itu melempar kesalahan ValueError
.'The worlds fastest plane'.index('plane')
'The worlds fastest plane'.index('car')
5. Bagaimana cara menghitung jumlah karakter dalam suatu string?
Fungsi len()
mengembalikan panjang string.len('The first president of the organization..')
6. Bagaimana cara menghitung berapa kali karakter tertentu muncul dalam sebuah string?
Metode count()
yang mengembalikan jumlah kemunculan dalam string karakter yang ditentukan akan membantu kami menjawab pertanyaan ini .'The first president of the organization..'.count('o')
7. Bagaimana membuat karakter pertama dari string menjadi huruf besar?
Untuk melakukan ini, Anda dapat menggunakan metode ini capitalize()
.'florida dolphins'.capitalize()
8. Apa itu f-line dan bagaimana menggunakannya?
Python 3.6 memperkenalkan fitur baru, yang disebut "f-string." Penggunaannya sangat menyederhanakan interpolasi string. Menggunakan f-line mengingatkan pada suatu metode format()
.Ketika f-lines dideklarasikan, sebuah surat ditulis sebelum tanda kutip pembuka f
.name = 'Chris'
food = 'creme brulee'
f'Hello. My name is {name} and I like {food}.'
9. Bagaimana menemukan substring di bagian string yang diberikan?
Metode index()
ini dapat dipanggil dengan meneruskan argumen opsional ke dalamnya, mewakili indeks fragmen awal dan akhir dari string, di mana Anda perlu mencari substring.'the happiest person in the whole wide world.'.index('the',10,44)
Perhatikan fakta bahwa konstruksi di atas kembali 23
, dan tidak 0
, seolah-olah, tidak akan membatasi pencarian kami.'the happiest person in the whole wide world.'.index('the')
10. Bagaimana cara memasukkan konten variabel ke dalam string menggunakan metode format ()?
Metode ini format()
memungkinkan Anda untuk mencapai hasil yang serupa dengan yang dapat diperoleh menggunakan f-line. Benar, saya percaya bahwa itu format()
tidak nyaman untuk digunakan, karena semua variabel harus ditentukan sebagai argumen format()
.difficulty = 'easy'
thing = 'exam'
'That {} was {}!'.format(thing, difficulty)
11. Bagaimana saya tahu jika string hanya berisi angka?
Ada metode isnumeric()
yang mengembalikan True
jika semua karakter dalam string adalah angka.'80000'.isnumeric()
Dengan menggunakan metode ini, perlu diingat bahwa ia tidak menghitung tanda baca sebagai angka.'1.0'.isnumeric()
12. Bagaimana cara membagi string dengan karakter yang diberikan?
Di sini kita akan dibantu oleh metode split()
yang memecah string oleh karakter yang diberikan atau oleh beberapa karakter.'This is great'.split(' ')
'not--so--great'.split('--')
13. Bagaimana cara memeriksa string yang hanya terdiri dari huruf kecil?
Metode islower()
mengembalikan True
hanya jika string hanya terdiri dari huruf kecil.'all lower case'.islower()
'not aLL lowercase'.islower()
14. Bagaimana cara memeriksa apakah string dimulai dengan huruf kecil?
Ini dapat dilakukan dengan memanggil metode di atas islower()
untuk karakter pertama dari string.'aPPLE'[0].islower()
15. Apakah mungkin dengan Python untuk menambahkan integer ke string?
Ini dimungkinkan dalam beberapa bahasa, tetapi Python akan membuat kesalahan ketika mencoba melakukan operasi yang sama TypeError
.'Ten' + 10
16. Bagaimana cara "membalik" garis?
Untuk “membalik” suatu garis, ia dapat dipisah dengan menyajikannya sebagai daftar karakter, “membalik” daftar, dan, menggabungkan elemen-elemennya, membentuk garis baru.''.join(reversed("hello world"))
17. Bagaimana cara menggabungkan daftar garis menjadi satu garis, yang unsur-unsurnya dipisahkan oleh tanda hubung?
Metode ini join()
dapat menggabungkan item daftar ke dalam string, memisahkan string individu menggunakan karakter yang ditentukan.'-'.join(['a','b','c'])
18. Bagaimana saya tahu bahwa semua karakter dalam string berada di ASCII?
Metode isascii()
kembali True
jika semua karakter dalam string berada di ASCII.print( 'Ă‚'.isascii() )
print( 'A'.isascii() )
19. Bagaimana cara melemparkan seluruh string ke huruf besar atau kecil?
Untuk mengatasi masalah ini, Anda dapat menggunakan metode upper()
dan lower()
, yang, masing-masing, mengarahkan semua karakter string ke huruf besar dan kecil.sentence = 'The Cat in the Hat'
sentence.upper()
sentence.lower()
20. Bagaimana cara mengubah karakter pertama dan terakhir dari string menjadi huruf besar?
Di sini, seperti dalam salah satu contoh sebelumnya, kita akan merujuk ke karakter string oleh indeks. Garis dalam Python tidak dapat diubah, jadi kami akan membangun baris baru berdasarkan yang sudah ada.animal = 'fish'
animal[0].upper() + animal[1:-1] + animal[-1].upper()
21. Bagaimana cara memeriksa string yang hanya terdiri dari huruf kapital?
Ada metode isupper()
yang mirip dengan yang sudah dipertimbangkan islower()
. Tetapi isupper()
mengembalikan True
hanya jika seluruh string terdiri dari huruf besar.'Toronto'.isupper()
'TORONTO'.isupper()
22. Dalam situasi apa Anda akan menggunakan metode splitlines ()?
Metode ini splitlines()
memisahkan string dengan karakter break line.sentence = "It was a stormy night\nThe house creeked\nThe wind blew."
sentence.splitlines()
23. Bagaimana cara mendapatkan potongan garis?
Untuk mendapatkan sepotong string, sintaks berikut digunakan:string[start_index:end_index:step]
Berikut step
adalah langkah yang akan mengembalikan karakter string dari rentang start_index:end_index
. Sebuah step
nilai 3 menunjukkan bahwa setiap karakter ketiga akan dikembalikan.string = 'I like to eat apples'
string[:6]
string[7:13]
string[0:-1:2]
24. Bagaimana cara mengubah integer ke string?
Anda dapat menggunakan konstruktor untuk mengonversi angka menjadi string str()
.str(5)
25. Bagaimana saya tahu bahwa string hanya berisi karakter alfabet?
Metode ini isalpha()
kembali True
jika semua karakter dalam string adalah huruf.'One1'.isalpha()
'One'.isalpha()
26. Bagaimana cara mengganti semua kemunculan substring tertentu dalam garis yang diberikan?
Jika Anda melakukannya tanpa mengekspor modul yang memungkinkan Anda bekerja dengan ekspresi reguler, Anda bisa menggunakan metode ini untuk menyelesaikan masalah ini replace()
.sentence = 'Sally sells sea shells by the sea shore'
sentence.replace('sea', 'mountain')
27. Bagaimana cara mengembalikan karakter garis dengan kode ASCII minimum?
Jika Anda melihat kode ASCII elemen, ternyata, misalnya, huruf besar memiliki kode lebih rendah daripada huruf kecil. Fungsi min()
mengembalikan karakter string yang memiliki kode terkecil.min('strings')
28. Bagaimana cara memeriksa string yang hanya berisi karakter alfanumerik?
Karakter alfanumerik termasuk huruf dan angka. Untuk menjawab pertanyaan ini, Anda dapat menggunakan metode ini isalnum()
.'Ten10'.isalnum()
'Ten10.'.isalnum()
29. Bagaimana cara menghapus spasi dari awal garis (dari sisi kiri), dari ujungnya (dari sisi kanan), atau di kedua sisi garis?
Di sini, metode lstrip()
, rstrip()
dan , masing-masing, berguna bagi kita strip()
.string = ' string of whitespace '
string.lstrip()
string.rstrip()
string.strip()
30. Bagaimana memeriksa apakah suatu string dimulai dengan urutan karakter tertentu, atau diakhiri dengan urutan karakter tertentu?
Untuk menjawab pertanyaan ini, Anda dapat menggunakan metode startswith()
dan masing-masing endswith()
.city = 'New York'
city.startswith('New')
city.endswith('N')
31. Bagaimana cara menyandikan string di ASCII?
Metode ini encode()
memungkinkan Anda untuk menyandikan string menggunakan penyandian yang ditentukan. Pengkodean standar digunakan utf-8
. Jika karakter tertentu tidak dapat diwakili menggunakan pengkodean yang ditentukan, kesalahan akan dihasilkan UnicodeEncodeError
.'Fresh Tuna'.encode('ascii')
'Fresh Tuna Ă‚'.encode('ascii')
32. Bagaimana saya tahu bahwa string hanya menyertakan spasi?
Ada metode isspace()
yang mengembalikan True
hanya jika string hanya terdiri dari spasi.''.isspace()
' '.isspace()
' '.isspace()
' the '.isspace()
33. Apa yang terjadi jika Anda mengalikan satu baris dengan 3?
Baris baru akan dibuat, mewakili baris asli yang diulang tiga kali.'dog' * 3
34. Bagaimana cara membuat karakter pertama dari setiap kata dalam string huruf besar?
Ada metode title()
yang huruf besar huruf pertama dari setiap kata dalam sebuah string.'once upon a time'.title()
35. Bagaimana cara menggabungkan dua garis?
Anda dapat menggunakan operator untuk menggabungkan string +
.'string one' + ' ' + 'string two'
36. Bagaimana cara menggunakan metode partisi ()?
Metode ini partition()
memecah string oleh substring yang diberikan. Setelah itu, hasilnya dikembalikan sebagai tuple. Selain itu, substring di mana kerusakan dilakukan juga termasuk dalam tuple.sentence = "If you want to be a ninja"
print(sentence.partition(' want '))
37. Garis dalam Python tidak dapat diubah. Apa artinya?
Fakta bahwa string tidak dapat diubah menunjukkan bahwa setelah objek string dibuat, itu tidak dapat diubah. Saat "memodifikasi" string, string asli tidak berubah. Sebaliknya, objek yang sama sekali baru dibuat dalam memori. Anda dapat membuktikan ini menggunakan fungsi id()
.proverb = 'Rise each day before the sun'
print( id(proverb) )
proverb_two = 'Rise each day before the sun' + ' if its a weekday'
print( id(proverb_two) )
Ketika menyatukan 'Rise each day before the sun'
dan ' if its a weekday'
dalam memori, objek baru dibuat dengan pengidentifikasi baru. Jika objek asli diubah, maka objek akan memiliki pengidentifikasi yang sama.38. Jika Anda mendeklarasikan baris yang sama dua kali (menuliskannya ke dalam 2 variabel berbeda) - berapa banyak objek yang akan dibuat dalam memori? 1 atau 2?
Contoh pekerjaan tersebut dengan string adalah fragmen kode berikut:animal = 'dog'
pet = 'dog'
Dengan pendekatan ini, hanya satu objek yang dibuat dalam memori. Ketika saya menemukan ini untuk pertama kalinya, sepertinya tidak intuitif bagi saya. Tetapi mekanisme ini membantu Python menghemat memori saat bekerja dengan string panjang.Ini dapat dibuktikan dengan beralih ke suatu fungsi id()
.animal = 'dog'
print( id(animal) )
pet = 'dog'
print( id(pet) )
39. Bagaimana cara menggunakan metode maketrans () dan translate ()?
Metode ini maketrans()
memungkinkan Anda untuk menggambarkan pemetaan satu karakter ke yang lain, mengembalikan tabel konversi.Metode ini translate()
memungkinkan Anda untuk menerapkan tabel yang ditentukan untuk mengonversi string.
mapping = str.maketrans("abcs", "123S")
"abc are the first three letters".translate(mapping)
Harap dicatat bahwa bar terbuat dari penggantian simbol a
, b
, c
dan s
, masing-masing, simbol 1
, 2
, 3
dan S
.40. Bagaimana cara menghapus vokal dari string?
Satu jawaban untuk pertanyaan ini adalah bahwa karakter dalam string diurutkan menggunakan mekanisme Pemahaman Daftar. Simbol diperiksa dengan membandingkan dengan vokal yang berisi tuple. Jika karakter tidak termasuk dalam tuple, karakter tersebut ditambahkan ke baris baru.string = 'Hello 1 World 2'
vowels = ('a','e','i','o','u')
''.join([c for c in string if c not in vowels])
41. Dalam situasi apa Anda menggunakan metode rfind ()?
Metode rfind()
ini mirip dengan metode ini find()
, tetapi, tidak seperti find()
, metode ini memindai string bukan dari kiri ke kanan, tetapi dari kanan ke kiri, mengembalikan indeks kemunculan pertama yang ditemukan dari substring yang diinginkan.story = 'The price is right said Bob. The price is right.'
story.rfind('is')
Ringkasan
Saya sering menjelaskan kepada satu manajer produk, seseorang yang berusia lanjut, bahwa pengembang bukan kamus yang menyimpan deskripsi metode objek. Tetapi semakin banyak metode yang diingat pengembang, semakin sedikit ia harus ke google, dan semakin cepat dan menyenangkan ia akan bekerja. Saya harap sekarang Anda dapat dengan mudah menjawab pertanyaan yang dibahas di sini.Pembaca yang budiman! Bagaimana dengan penanganan string dengan Python, akankah Anda memberi saran kepada mereka yang bersiap untuk wawancara?