Bagaimana Anda membagi daftar input dengan python?

Konstruktor list() membuat daftar langsung dari iterable, dan karena string dapat diubah, Anda dapat membuat daftar darinya dengan meneruskan string ke konstruktor daftar

1

2

3

4

5

6

7

jika __nama__ == '__main__'.

 

    masukan = 'ABC'

 

    karakter = daftar(input)

    cetak(karakter)            # ['A', 'B', 'C']

 

Unduh  Jalankan Kode

2. Menggunakan fungsi str.split()_

Anda dapat menggunakan fungsi , yang mengembalikan daftar kata dalam string, menggunakan sep sebagai string pembatas.

Misalnya, untuk memisahkan string dengan pembatas -, Anda dapat melakukannya

1

2

3

4

5

6

jika __nama__ == '__main__'.

 

    s = '1-2-3'

    l = s. pisah('-')

    cetak(l)    # prints ['1', '2', '3']

 

Unduh  Jalankan Kode

 
Jika sep_ tidak ditentukan atau None, spasi kosong yang berurutan dianggap sebagai pemisah tunggal

1

2

3

4

5

6

jika __nama__ == '__main__'.

 

    s = '1 2 3'

    l = s. pisah()

    cetak(l)    # prints ['1', '2', '3']

 

Unduh  Jalankan Kode

3. Menggunakan fungsi shlex.split()_

Modul shlex mendefinisikan fungsi shlex.split(s), yang membagi string s menggunakan sintaks seperti shell

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

Bisakah Anda membagi input dengan Python?

Menggunakan metode split() . Fungsi ini membantu dalam mendapatkan banyak masukan dari pengguna. Itu merusak input yang diberikan oleh pemisah yang ditentukan. Jika pemisah tidak disediakan maka ruang putih apa pun adalah pemisah. Umumnya, pengguna menggunakan metode split() untuk membagi string Python tetapi seseorang dapat menggunakannya untuk mengambil banyak input.

Bagaimana Anda memisahkan dua input?

Menggunakan metode split() . Sintaks diberikan di bawah ini. Parameter pemisah memecah input dengan pemisah yang ditentukan. Secara default, spasi putih adalah pemisah yang ditentukan.

Bagaimana Anda membagi input dan output dengan Python?

Sintaksis Metode Python String split() . Ini adalah pembatas. String terbelah pada pemisah yang ditentukan ini. Jika tidak disediakan maka ruang putih apa pun adalah pemisah. maxsplit. Ini adalah angka, yang memberi tahu kita untuk membagi string menjadi jumlah maksimum yang disediakan.

Apa itu input () strip () di Python?

Python String strip() adalah fungsi bawaan dalam bahasa pemrograman Python yang mengembalikan salinan string dengan karakter awal dan akhir yang dihapus (based on the string argument passed).