Bagaimana Anda membagi daftar dengan python?

Dalam tutorial ini, Kita akan belajar tentang cara Membagi Daftar menjadi Setengah menggunakan Pemrograman Python. Daftar adalah tipe data yang dapat diubah yang dapat menyimpan kumpulan item. Artikel ini membahas berbagai cara untuk membagi daftar menjadi dua, n subdaftar, n bagian, dan potongan. Dua bagian dari daftar asli berisi elemen dalam urutan yang sama seperti aslinya. Selain itu, kami juga akan membahas

Jika Anda ingin mempelajari lebih lanjut tentang daftar di python, Lihat Tutorial Daftar Python

  • Kasus 1. Pisahkan daftar menjadi Setengah
  • Kasus 2. Pisahkan daftar menjadi n subdaftar atau bagian
  • Kasus 3. Pisahkan daftar menjadi potongan-potongan
Case 1: Given an input list, split it into two halves.

[a] When the list is symmetrical.
 
 Example:
 Input= [1,7,5,3,2,8,9,4]
 Output= [1,7,5,3] and [2,8,9,4]

[b] When the list is asymmetrical.
 
 Example:
 Input= [13,6,2,4,4,81,9,32,5,7,11]
 Output= [13,6,2,4,4] and [81,9,32,5,7,11]


Case 2: Given an input list, split it into n sublists.

 Example:
 n=4
 Input= [5,3,2,1,3,24,5,41,35,4,6]
 Output= [5,3,2], [1,3,24], [5,41,35], [4,6]

Case 3: Given an input list, split it into n sized chunks.

 Example:
 n=3
 Input= [24,54,9,76,32,42,97,64,3,1,93,22,53]
 Output= [24,54,9], [76,32,42], [97,64,3], [1,93,22], [53]

Kasus 1. membagi daftar menjadi dua menggunakan python

Kasus pertama adalah membagi daftar menjadi setengah atau dua bagian. Bagian ini bisa berukuran sama atau tidak sama tergantung pada panjang daftar. Kedua kemungkinan tersebut akan dibahas di sini. Kita bisa menggunakan teknik slicing untuk membagi list. Ini dapat dilakukan dengan menggunakan langkah-langkah berikut

  • Dapatkan panjang daftar menggunakan fungsi len[]
  • Jika panjang bagian tidak diberikan, bagi panjang daftar dengan 2 menggunakan operator lantai untuk mendapatkan indeks tengah daftar
  • Iris daftar menjadi dua bagian menggunakan [. middle_index] dan [middle_index. ]

Contoh

Pertama-tama mari kita perhatikan contoh di mana panjang paruh pertama diberikan

#create and initialize a list
list1 = [1,2,3,4,5,6]


#initialize the middle index with the length of first half
middle_index=3

#Split the list from starting index upto middle index in first half
first_half=list1[:middle_index]

#Split the list from middle index index upto the last index in second half
sec_half=list1[middle_index:]

#printing original lists and two halves
print['The original list is: ',list1]
print["First half of list is ",first_half]

print["Second half of list is ",sec_half]
_

KELUARAN

Bagaimana jika ukuran dua bagian atau indeks pemisahan tidak diberikan. Kemudian kita harus mencari indeks tengah dari daftar yang dapat dilakukan dengan membagi panjang daftar dengan 2. jika Tapi jika panjang list adalah angka ganjil atau list tidak simetris maka pada pembagian, kita akan mendapatkan nilai float. Oleh karena itu, kami akan menggunakan operator lantai[//] yang membulatkan hasilnya

Contoh

#function which split the list into two halves
def splitlist[inputlist,n]:

  first_half=inputlist[:n]
  sec_half=inputlist[n:]

  return first_half,sec_half


if __name__ == "__main__" :
  # create an empty list
  list1 = []
  # Take number of elements as input from user
  length = int[input["Enter number of elements : "]]
  
  # iinitialize the list using for loop
  for i in range[0, length]:
    item = int[input["Enter element "+str[i+1]+" :"]]
    list1.append[item]
  
  middle_index=length//2
  first,sec=splitlist[list1,middle_index]
  #printing lists
  
  print["Original list: ", list1]
  print["First half: ", first]
  print["second half: ", sec]

Keluaran

Dalam contoh di atas, daftar terdiri dari elemen dengan jumlah ganjil sehingga fungsi split mengembalikan dua daftar yang tidak sama. Karena panjang daftar adalah 7, maka titik tengahnya adalah [7/2] = 3. 5. Operator lantai mengembalikan nilai bilangan bulat terdekat yang kurang dari atau sama dengan hasil yang diperoleh dari pembagian. Dalam hal ini, operator lantai mengembalikan 3 alih-alih 3. 5. Jadi, panjang paruh pertama adalah 3, sedangkan paruh lainnya memiliki panjang 4

kasus 2. membagi daftar menjadi n subdaftar

Python memiliki pustaka NumPy yang memiliki fungsi bawaan 'array_split[]' yang dapat membagi daftar menjadi n bagian. Fungsi mengambil array dan jumlah pemisahan 'n' sebagai argumen dan mengembalikan daftar n subarray. Mari kita pahami penggunaan fungsi ini menggunakan contoh

Contoh

import numpy as np

#creating a list
list1 = [1,2,3,4,5,6,7,8,9]

sub_lists = np.array_split[list1, 3]
count=1
for i in sub_lists:
    print["List ", count, ": ",list[i]]
    count+=1

Keluaran

Dalam contoh ini, kami telah menggunakan fungsi pustaka NumPy yang menggunakan daftar asli dan jumlah pemisahan sebagai argumen dan mengembalikan bagian daftar

kasus 3. membagi daftar menjadi potongan atau bagian berukuran n

Jika panjang potongan dan daftar diberikan dan Anda diminta untuk membagi daftar maka Anda dapat melakukannya dengan mengiris operator. Contoh berikut menunjukkan penerapan masalah ini

Contoh

 def split_list[Input_list, n]:
    for i in range[0, len[Input_list], n]:
        yield Input_list[i:i + n]

if __name__ == "__main__" :
  # create an empty list
  list1 = []
  # Take number of elements as input from user
  length = int[input["Enter number of elements : "]]
  
  # iinitialize the list using for loop
  for i in range[0, length]:
    item = int[input["Enter element "+str[i+1]+" :"]]
    list1.append[item]      
  # Take the size of chunks as an input from user
  n = int[input["Enter the size of chunks : "]]
   
  X=split_list[list1, n]
  print[list[X]]
_

Keluaran

Masalah yang sama juga dapat dilakukan dengan menggunakan pemahaman daftar

# create an empty list
list1 = []
# Take number of elements as input from user
length = int[input["Enter number of elements : "]]
  
# initialize the list using for loop
for i in range[0, length]:
  item = int[input["Enter element "+str[i+1]+" :"]]
  list1.append[item]      
# Take the size of chunks as an input from user
n = int[input["Enter the size of chunks : "]]
X = [list1[i:i+n] for i in range[0, length, n]]
print["Chunks of Original list are:"]
for i in X:
  print[i]

Keluaran

Tutorial ini membahas tiga kasus daftar pemisahan yang berbeda secara rinci beserta contohnya. Jika Anda memiliki pertanyaan tentang artikel ini, beri tahu kami di komentar. Umpan balik Anda akan sangat dihargai

Bisakah Anda membagi daftar dengan python?

Metode Python String split[] . Anda dapat menentukan pemisah, pemisah default adalah spasi putih apa pun. Catatan. Ketika maxsplit ditentukan, daftar akan berisi jumlah elemen yang ditentukan ditambah satu. The split[] method splits a string into a list. You can specify the separator, default separator is any whitespace. Note: When maxsplit is specified, the list will contain the specified number of elements plus one.

Bagaimana Anda membagi daftar menjadi beberapa bagian dengan python?

Program Python untuk Membagi Daftar Menjadi Potongan-potongan Berukuran Merata .
Menggunakan metode for loop dan range[], lakukan iterasi dari 0 hingga panjang daftar dengan ukuran potongan sebagai langkahnya
Kembalikan potongan menggunakan hasil. daftar_a[i. i+chunk_size] memberikan setiap potongan

Bagaimana cara membagi daftar menjadi beberapa daftar?

Membagi Daftar menjadi Potongan Menggunakan For-Loop .
Kami instantiate dua daftar. a_list , yang berisi item dari daftar asli kita, dan chunked_list , yang kosong
Kami juga mendeklarasikan sebuah variabel, chunk_size , yang telah kami atur menjadi tiga, untuk menunjukkan bahwa kami ingin membagi daftar kami menjadi potongan berukuran 3

Apakah Split [] mengembalikan daftar?

Fungsi split[] mengembalikan string sebagai daftar .

Bài mới nhất

Chủ Đề