Bagaimana Anda membagi data dalam 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

split list into half

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

split list in half

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

splits lists into n sublists

Dalam contoh ini, kami telah menggunakan fungsi pustaka NumPy yang mengambil daftar asli dan jumlah pemisahan sebagai argumen dan mengembalikan bagian dari 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

split list into chunks

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

n parts splitting

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

Bagaimana Anda membagi item dalam daftar Python?

Kita dapat menggunakan. fungsi split(pemisah) untuk membagi string menjadi daftar string menggunakan pemisah yang ditentukan. Pemisah memberi tahu Python di mana harus memutuskan string. Jika tidak ada pemisah yang ditentukan, maka Python akan menggunakan spasi putih dalam string sebagai titik pemisah.

Bisakah Anda menggunakan split () pada daftar?

Fungsi split dapat digunakan untuk memisahkan string dengan bantuan kemunculan karakter. Fungsi pemisahan dapat digunakan untuk memisahkan string dalam bentuk daftar .

Bagaimana Anda membagi daftar menjadi dua bagian dengan Python?

Hal 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. ]

Bagaimana Anda memisahkan item dalam daftar?

Biasanya, kami menggunakan koma untuk memisahkan tiga item atau lebih dalam daftar . Namun, jika satu atau lebih item ini berisi koma, maka Anda harus menggunakan titik koma, bukan koma, untuk memisahkan item dan menghindari potensi kebingungan.