Rumah > Artikel > pembangunan bahagian belakang > Program Python untuk membahagikan senarai kepada separuh
Dalam Python, pembolehubah tunggal boleh mengandungi berbilang item dengan menggunakan senarai. Satu daripada empat jenis data terbina dalam Python untuk menyimpan koleksi data ialah senarai;
Tanda kurung persegi digunakan untuk membina senarai. Alat yang paling berkuasa dalam Python ialah senarai, kerana ia tidak semestinya homogen. Jenis data seperti integer, rentetan dan objek semuanya boleh ditemui dalam senarai. Memandangkan senarai boleh berubah, ia boleh ditukar walaupun selepas ia dibuat.
Dalam artikel ini, kami akan meneroka pelbagai cara untuk membahagikan senarai kepada separuh menggunakan pengaturcaraan Python. Senarai ialah salah satu jenis data boleh ubah yang boleh menyimpan koleksi objek. Dengan petua ini, anda boleh membahagi dua senarai dengan mudah!
Dalam adegan pertama, senarai dibahagikan kepada dua bahagian atau separuh. Bergantung pada panjang senarai, bahagian ini boleh bersaiz sama atau tidak sekata. Senarai boleh dibahagikan menggunakan kaedah penghirisan.
Buat senarai dan mulakan indeks tengahnya dengan separuh panjangnya.
Potong separuh, indeks dari awal hingga tengah dan indeks dari tengah hingga akhir.
Cetak senarai asal dan senarai separuh setengah.
Isih setiap separuh dan gabungkannya ke dalam senarai yang diisih.
Akhir sekali, cetak senarai digabungkan dan diisih baharu ini.
Contoh berikut mencipta senarai 6 elemen dan kemudian menetapkan indeks kepada 3. Senarai itu kemudiannya dibahagikan kepada dua bahagian berdasarkan indeks itu - separuh pertama ialah semua elemen sebelum indeks, dan separuh kedua ialah semua elemen selepasnya. Akhirnya, ia mencetak kedua-dua bahagian senarai.
#create list list_1 = [10,20,30,40,50,60] index = 3 first_half = list_1 [:index] second_half = list_1 [index:] print('The primary list is: ',list_1) print("First half of list is ",first_half) print("Second half of list is ",second_half)
The primary list is: [10, 20, 30, 40, 50, 60] First half of list is [10, 20, 30] Second half of list is [40, 50, 60]
Di sini, dalam kaedah yang dijelaskan di atas, kami mentakrifkan indeks dan panjang senarai. Bagaimana jika indeks pecahan atau saiz dua bahagian tidak dinyatakan? Langkah seterusnya ialah menentukan indeks tengah senarai, yang boleh dilakukan dengan mendarabkan panjang senarai dengan 2. Walau bagaimanapun, jika panjang senarai adalah integer ganjil atau senarai itu tidak simetri, maka apabila kita bahagikan dengan panjang senarai, kita akan mendapat nilai titik terapung. senarai. Untuk membundarkan keputusan, kami akan menggunakan operator bulat ke bawah (//).
Dalam kaedah ini, kebimbangan utama kami adalah untuk menyelesaikan keadaan yang berbeza, iaitu, jika bilangan elemen yang diminta oleh pengguna adalah nombor ganjil, maka apakah proses untuk menyelesaikan tugasan. Di sini, fungsi split mengembalikan dua senarai yang tidak sama kerana senarai itu mempunyai bilangan elemen yang ganjil. Tengah ialah (5/2) = 2.5 kerana senarai itu adalah 5 item panjang. Nilai integer terdekat kurang daripada atau sama dengan hasil pembahagian dikembalikan oleh pengendali pembundaran. Dalam kes ini, pengendali pusingan ke bawah menghasilkan 2, bukan 2.5.
Tentukan fungsi yang menerima senarai nombor dan meminta pengguna memasukkan nilai.
Gunakan gelung for untuk mengulang senarai,
Kemudian gunakan fungsi append() untuk membahagi setiap nombor dengan 2 dan cari indeks tengahnya.
Gesa pengguna untuk input selepas selesai.
Contoh berikut menunjukkan program membahagikan senarai nombor yang dimasukkan oleh pengguna kepada dua bahagian. Ia meminta pengguna memasukkan bilangan elemen yang mereka mahu tambah pada senarai, kemudian menggesa mereka memasukkan satu elemen pada satu masa.
Indeks tengah dikira dengan membahagikan panjang senarai dengan 2 dan kemudian menggunakan indeks itu untuk memanggil split_list() , yang menggunakan penghirisan untuk memisahkan separuh pertama dan separuh kedua senarai dan mengembalikan dua senarai masing-masing.
def split_list(input_L,n): first_half = input_L[:n] second_half = input_L[n:] return first_half,second_half if __name__ == "__main__" : list_1 = [] length = int(input("Enter the number of elements you want in list : ")) for i in range(0, length): item = int(input("Enter the element for list "+str(i+1)+" :")) list_1.append (item) middle_index = length//2 first,second = split_list (list_1,middle_index) print ("Primary list: ", list_1) print ("First half of the list is: ", first) print ("second half of the list is: ", second)
Apabila melaksanakan program di atas, output berikut dijana -
Enter the number of elements you want in list: 5 Enter the element for list 1:98 Enter the element for list 2:60 Enter the element for list 3:45 Enter the element for list 4:33 Enter the element for list 5:55 Primary list: [98, 60, 45, 33, 55] First half of the list is: [98, 60] second half of the list is: [45, 33, 55]
Dalam artikel ini, kami menggunakan python untuk membahagikan senarai kepada dua menggunakan kaedah yang berbeza.
Atas ialah kandungan terperinci Program Python untuk membahagikan senarai kepada separuh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!