Skip to main content

ListMaster pengolah list python

Project description

ListMaster

Solusi Sederhana untuk Manipulasi List di Python

Apa fungsi library ini ?

ListMaster adalah library Python yang dirancang untuk memudahkan berbagai operasi pada list, termasuk sorting, modifikasi, penggabungan, dan manipulasi data lainnya. Dengan berbagai algoritma sorting klasik serta alat bantu lainnya, ListMaster membantu Anda mengelola data berbasis list secara efisien.

Instalasi

Instalasi ListMaster sangat sederhana dan dapat dilakukan dengan perintah berikut :

pip install ListMaster

Fitur Utama

  • Sorting dengan berbagai algoritma (bubble sort, quick sort, merge sort, dll.)
  • Search untuk mencari elemen atau subset list
  • Statistik dasar seperti rata-rata, median dan modus
  • Filter data berdasarkan kondisi tertentu
  • Modifikasi elemen list secara mudah
  • Mengelola elemen unik dan menemukan elemen duplikat.

1. Modul list_sorting

Modul ini berisi berbagai algoritma pengurutan yang dapat digunakan untuk mengurutkan data dalam bentuk array atau list. Algoritma yang disertakan antara lain: Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort, serta Tim Sort yang merupakan sorting bawaan Python. Setiap algoritma mendukung pengurutan secara ascending (menaik) maupun descending (menurun).

Daftar Algoritma

  1. Bubble Sort:

    • Mengurutkan dengan membandingkan elemen bersebelahan dan menukarnya jika diperlukan. Proses diulangi sampai semua elemen terurut.
  2. Selection Sort:

    • Menemukan elemen terkecil atau terbesar di bagian tidak terurut dan menukarnya dengan elemen di posisi yang sesuai.
  3. Insertion Sort:

    • Mengurutkan dengan cara memasukkan elemen dari bagian tidak terurut ke bagian yang sudah terurut pada posisi yang tepat.
  4. Merge Sort:

    • Menggunakan pendekatan divide and conquer untuk membagi array, mengurutkan setiap bagian secara rekursif, lalu menggabungkannya kembali.
  5. Quick Sort:

    • Menggunakan pivot untuk mempartisi array menjadi dua bagian, dan mengurutkan secara rekursif pada kedua bagian.
  6. Tim Sort:

    • Sorting bawaan Python yang merupakan kombinasi dari Merge Sort dan Insertion Sort, dioptimalkan untuk performa.

Penggunaan

Setiap fungsi pengurutan menerima dua parameter:

  • arr: List yang akan diurutkan.
  • reverse (opsional): Boolean yang menentukan urutan hasil pengurutan. Jika True, list akan diurutkan secara menurun (descending). Jika False, list akan diurutkan secara menaik (ascending). Nilai default adalah False.

Contoh Penggunaan

from ListMaster import bubble_sort, selection_sort, insertion_sort, merge_sort, quick_sort, tim_sort

arr = [64, 25, 12, 22, 11]

# Bubble Sort (ascending)
sorted_arr = bubble_sort(arr)
print(sorted_arr)  # Output: [11, 12, 22, 25, 64]

# Quick Sort (descending)
sorted_arr = quick_sort(arr, reverse=True)
print(sorted_arr)  # Output: [64, 25, 22, 12, 11]

# Tim Sort (ascending)
sorted_arr = tim_sort(arr)
print(sorted_arr)  # Output: [11, 12, 22, 25, 64]

Modul ini dirancang untuk memberikan kemudahan dalam mengurutkan data dengan berbagai metode yang efisien. Silakan gunakan sesuai kebutuhan Anda!

2. Modul list_search

Modul ini berisi implementasi Python dari berbagai algoritma pencarian, termasuk pencarian linear dan pencarian biner, serta fungsi utilitas untuk memeriksa apakah sebuah list diurutkan dalam urutan menaik.

Fungsi

1. is_sorted(arr)

Memeriksa apakah sebuah list diurutkan dalam urutan menaik.

  • Parameter:

    • arr: Sebuah list elemen yang akan diperiksa.
  • Mengembalikan:

    • True jika list diurutkan, False jika tidak.

2. linear_search(arr, target)

Melakukan pencarian linear untuk menemukan semua kemunculan elemen target dalam sebuah list.

  • Parameter:

    • arr: Sebuah list elemen yang akan dicari.
    • target: Elemen yang dicari.
  • Mengembalikan:

    • Sebuah list indeks di mana target ditemukan, atau list kosong jika tidak ditemukan.
  • Mengangkat:

    • ValueError: Jika argumen pertama bukan sebuah list.

3. binary_search(arr, target)

Melakukan pencarian biner untuk menemukan semua kemunculan elemen target dalam sebuah list yang terurut.

  • Parameter:

    • arr: Sebuah list yang sudah diurutkan untuk pencarian.
    • target: Elemen yang dicari.
  • Mengembalikan:

    • Sebuah list indeks di mana target ditemukan, atau list kosong jika tidak ditemukan.
  • Mengangkat:

    • ValueError: Jika argumen pertama bukan sebuah list atau jika list tidak diurutkan dalam urutan menaik.

Penggunaan

Untuk menggunakan fungsi-fungsi ini, cukup impor ke dalam skrip Python Anda dan panggil dengan parameter yang sesuai. Pastikan bahwa list sudah diurutkan sebelum menggunakan fungsi binary_search.

Contoh dengan Angka

from ListMaster import is_sorted, linear_search, binary_search
arr = [1, 2, 2, 3, 4, 5]
target = 2

# Periksa apakah list diurutkan
print(is_sorted(arr))  # Output: True

# Lakukan pencarian linear
print(linear_search(arr, target))  # Output: [1, 2]

# Lakukan pencarian biner
print(binary_search(arr, target))  # Output: [1, 2]

Contoh dengan String

from ListMaster import is_sorted, linear_search, binary_search
arr = ["apel", "jeruk", "jeruk", "mangga", "pisang"]
target = "jeruk"

# Periksa apakah list diurutkan
print(is_sorted(arr))  # Output: True

# Lakukan pencarian linear
print(linear_search(arr, target))  # Output: [1, 2]

# Lakukan pencarian biner
print(binary_search(arr, target))  # Output: [1, 2]

Contoh dengan Tuple

from ListMaster import is_sorted, linear_search, binary_search 
arr = [(1, 'a'), (2, 'b'), (2, 'b'), (3, 'c')]
target = (2, 'b')

# Periksa apakah list diurutkan
print(is_sorted(arr))  # Output: True

# Lakukan pencarian linear
print(linear_search(arr, target))  # Output: [1, 2]

# Lakukan pencarian biner
print(binary_search(arr, target))  # Output: [1, 2]

Contoh dengan Boolean

arr = [True, True, False, False, True]
target = True

# Periksa apakah list diurutkan
print(is_sorted(arr))  # Output: False

# Lakukan pencarian linear
print(linear_search(arr, target))  # Output: [0, 1, 4]

# Pencarian biner tidak dapat dilakukan karena list tidak terurut

3. Modul list_statistic

Modul ini menyediakan fungsi-fungsi untuk melakukan analisis statistik pada list, termasuk menghitung rata-rata, median, nilai minimum, nilai maksimum, dan modus. Modul ini dirancang untuk mempermudah pengguna dalam melakukan analisis data numerik.

Fungsi-Fungsi

1. rata_rata(target_list)

Deskripsi: Menghitung rata-rata dari elemen numerik dalam list.

Parameter:

  • target_list (list): List yang berisi elemen numerik (int atau float).

Pengembalian:

  • float: Rata-rata dari elemen dalam list. Mengembalikan 0 jika list kosong.

Contoh:

from ListMaster import rata_rata
data = [1, 2, 3, 4]
result = rata_rata(data) # Output: 2.5

2. median(target_list)

Deskripsi: Menghitung median dari elemen numerik dalam list.

Parameter:

  • target_list (list): List yang berisi elemen numerik (int atau float).

Pengembalian:

  • float: Nilai median dari elemen dalam list.

Contoh:

from ListMaster import median
data = [1, 2, 3, 4]
result = median(data) # Output: 2.5

3. min_max(target_list)

Deskripsi: Mengembalikan nilai minimum dan maksimum dari elemen numerik dalam list.

Parameter:

  • target_list (list): List yang berisi elemen numerik (int atau float).

Pengembalian:

  • tuple: Tuple yang berisi nilai minimum dan maksimum.

Contoh:

from ListMaster import min_max
data = [1, 2, 3, 4]
result = min_max(data) # Output: (1, 4)

4. modus(target_list)

Deskripsi: Menghitung modus dari elemen dalam list.

Parameter:

  • target_list (list): List yang berisi elemen (int, float, atau tipe data lainnya).

Pengembalian:

  • list atau string: Daftar modus jika ada lebih dari satu, atau pesan jika semua elemen muncul dengan frekuensi yang sama.

Contoh:

from ListMaster import modus
data = [1, 2, 2, 3]
result = modus(data) # Output: [2]

Penggunaan

Untuk menggunakan modul ini, cukup impor modul dalam skrip Python Anda dan panggil fungsi yang diperlukan.

from ListMaster import rata_rata, median, min_max, modus

data = [1, 2, 2, 3, 4, 4, 4, 5]

print("Rata-rata:", rata_rata(data))
print("Median:", median(data))
print("Min dan Max:", min_max(data))
print("Modus:", modus(data))

Catatan

  • Pastikan bahwa list yang digunakan untuk fungsi ini hanya berisi elemen numerik (int atau float).
  • Modul ini akan menghasilkan exception jika list tidak memenuhi syarat.

4. Modul list_filter

1. filter_genap(list_angka)

Deskripsi: Memfilter angka genap dari list.

Parameter:

  • list_angka (list): List yang berisi angka (int atau float).

Pengembalian:

  • list: List yang hanya berisi angka genap.

Contoh:

from ListMaster import filter_genap
angka = [1, 2, 3, 4, 5, 6]
result = filter_genap(angka) 
# Output: [2, 4, 6]

2. filter_lebih_dari(list_angka, nilai)

Deskripsi: Memfilter angka yang lebih besar dari nilai tertentu.

Parameter:

  • list_angka (list): List yang berisi angka (int atau float).
  • nilai (int/float): Nilai batas untuk filter.

Pengembalian:

  • list: List yang berisi angka yang lebih besar dari nilai.

Contoh:

from ListMaster import filter_lebih_dari
angka = [1, 2, 3, 4, 5, 6]
result = filter_lebih_dari(angka, 3)
# Output: [4, 5, 6]

3. filter_habis_dibagi(list_angka, pembagi)

Deskripsi: Memfilter angka yang habis dibagi oleh pembagi tertentu.

Parameter:

  • list_angka (list): List yang berisi angka (int atau float).
  • pembagi (int/float): Angka yang digunakan sebagai pembagi.

Pengembalian:

  • list: List yang berisi angka yang habis dibagi oleh pembagi.

Contoh:

from ListMaster import filter_habis_dibagi
angka = [1, 2, 3, 4, 5, 6]
result = filter_habis_dibagi(angka, 2)
# Output: [2, 4, 6]

4. filter_mengandung(list_string, substring)

Deskripsi: Memfilter string yang mengandung substring tertentu.

Parameter:

  • list_string (list): List yang berisi string.
  • substring (str): Substring yang dicari dalam string.

Pengembalian:

  • list: List yang berisi string yang mengandung substring.

Contoh:

from ListMaster import filter_mengandung
strings = ["apel", "jeruk", "anggur"]
result = filter_mengandung(strings, "an")
# Output: ["anggur"]

Cara Menggunakan

Untuk menggunakan modul ini, Anda dapat mengimpor fungsi yang diperlukan dalam skrip Python Anda. Berikut adalah contoh penggunaan dari setiap fungsi:

python from list_filter import filter_genap, filter_lebih_dari, filter_habis_dibagi, filter_mengandung

Contoh penggunaan filter untuk angka

from ListMaster import filter_genap, filter_lebih_dari, filter_habis_dibagi
angka = [1, 2, 3, 4, 5, 6]
print("Angka Genap:", filter_genap(angka))
print("Angka lebih dari 3:", filter_lebih_dari(angka, 3))
print("Angka yang habis dibagi 2:", filter_habis_dibagi(angka, 2))

Contoh penggunaan filter untuk string

from ListMaster import filter_mengandung
strings = ["apel", "jeruk", "anggur"]
print("String yang mengandung 'an':", filter_mengandung(strings, "an"))

5. Modul list_modification

Modul ini menyediakan tiga fungsi utama untuk menggabungkan beberapa list menjadi satu list. Fungsinya termasuk menggabungkan list dengan atau tanpa duplikasi, serta menjaga urutan elemen dalam penggabungan tanpa duplikat.

Fitur

  • gabungkan_list: Menggabungkan sejumlah list menjadi satu list besar tanpa menghapus elemen duplikat.

  • gabungkan_tanpa_duplikat: Menggabungkan list tanpa elemen duplikat, tanpa mempertahankan urutan kemunculan.

  • gabungkan_list_unik: Menggabungkan list tanpa elemen duplikat, dengan mempertahankan urutan kemunculan pertama dari setiap elemen.

Instalasi

Modul ini tidak memerlukan instalasi khusus. Cukup salin kode fungsi ke dalam proyek Python Anda.

Fungsi

1. gabungkan_list(*lists)

Fungsi ini menggabungkan sejumlah list menjadi satu list besar. Semua elemen dari list yang diberikan akan dimasukkan ke dalam list hasil, tanpa menghapus duplikat.

Parameter:

  • *lists: Satu atau lebih list yang ingin digabungkan

Return:

  • Mengembalikan satu list besar yang berisi semua elemen dari list yang diberikan.

Kesalahan yang Mungkin Terjadi:

  • Jika salah satu argumen bukan list, akan muncul TypeError.

Contoh Penggunaan

from ListMaster import gabungkan_list
list1 = [1, 2, 3]
list2 = [4, 5, 6]
gabungan = gabungkan_list(list1, list2)
print(gabungan)  # Output: [1, 2, 3, 4, 5, 6]

2. gabungkan_tanpa_duplikat(*lists)

Fungsi ini menggabungkan sejumlah list menjadi satu list besar tanpa menyertakan elemen yang duplikat. Pengurutan elemen mungkin berubah karena penggunaan set untuk menghapus duplikat.

Parameter:

  • *lists: Satu atau lebih list yang ingin digabungkan.

  • Return: Mengembalikan satu list besar tanpa elemen duplikat.

  • Kesalahan yang Mungkin Terjadi: Jika salah satu argumen bukan list, akan muncul TypeError.

Contoh Penggunaan:

from ListMaster import gabungkan_tanpa_duplikat
list1 = [1, 2, 3, 3]
list2 = [4, 5, 6, 4]
gabungan = gabungkan_tanpa_duplikat(list1, list2)
print(gabungan)  # Output: [1, 2, 3, 4, 5, 6]

3. gabungkan_list_unik(*lists)

Fungsi ini menggabungkan sejumlah list menjadi satu list besar tanpa elemen duplikat, sambil mempertahankan urutan kemunculan pertama dari setiap elemen. Tidak seperti gabungkan_tanpa_duplikat, fungsi ini tidak mengubah urutan elemen yang pertama kali muncul.

Parameter:

*lists: Satu atau lebih list yang ingin digabungkan.

Return:

Mengembalikan satu list besar yang berisi semua elemen tanpa elemen duplikat, mempertahankan urutan kemunculan pertama.

Kesalahan yang Mungkin Terjadi:

Jika salah satu argumen bukan list, akan muncul TypeError.

Contoh Penggunaan:

from ListMaster import gabungkan_list_unik
list1 = [1, 2, 3, 3]
list2 = [4, 5, 6, 4]
gabungan = gabungkan_list_unik(list1, list2)
print(gabungan)  # Output: [1, 2, 3, 4, 5, 6]

6. Modul list_unique

Modul ini menyediakan beberapa fungsi untuk memanipulasi list di Python, termasuk mengambil elemen unik, menghitung jumlah elemen unik, mengurutkan elemen unik, dan menemukan elemen yang duplikat.

Fungsi

1. unique_elements(input_list)

Mengembalikan list hanya dengan elemen-elemen unik (tanpa duplikat).

  • Argumen:

    • input_list (list): List yang berisi elemen-elemen.
  • Mengembalikan:

    • List elemen unik.
  • Catatan:

    • Jika input tidak valid (misalnya, elemen tidak bisa di-hash), akan mengembalikan list kosong dan mencetak pesan kesalahan.
  • Contoh Penggunaan:

    from ListMaster import unique_elements
    data = [1, 2, 2, 3, 4, 4, 5]
    result = unique_elements(data)
    print(result)  # Output: [1, 2, 3, 4, 5]
    

2. sum_unique(input_list)

Mengembalikan jumlah dari semua elemen unik dalam list.

  • Argumen:

    • input_list (list): List yang berisi elemen-elemen.
  • Mengembalikan:

    • Jumlah dari elemen-elemen unik (int/float).
  • Catatan:

    • Jika input tidak valid (misalnya, elemen tidak bisa dijumlahkan), akan mengembalikan 0 dan mencetak pesan kesalahan.
  • Contoh Penggunaan:

    from ListMaster import sum_unique
    data = [1, 2, 2, 3, 4, 4, 5]
    result = sum_unique(data)
    print(result)  # Output: 15 (1 + 2 + 3 + 4 + 5)
    

3. unique_and_sort(input_list)

Mengembalikan elemen unik yang sudah diurutkan secara ascending.

  • Argumen:

    • input_list (list): List yang berisi elemen-elemen.
  • Mengembalikan:

    • List elemen unik yang diurutkan.
  • Catatan:

    • Jika input tidak valid (misalnya, elemen tidak bisa diurutkan), akan mengembalikan list kosong dan mencetak pesan kesalahan.
  • Contoh Penggunaan:

    from ListMaster import unique_and_sort
    data = [4, 2, 5, 1, 3, 2, 5]
    result = unique_and_sort(data)
    print(result)  # Output: [1, 2, 3, 4, 5]
    

4. get_duplicates(input_list)

Mengembalikan elemen-elemen yang duplikat dalam list (tidak unik).

  • Argumen:

    • input_list (list): List yang berisi elemen-elemen.
  • Mengembalikan:

    • List elemen-elemen yang duplikat.
  • Catatan:

    • Jika input tidak valid (misalnya, elemen tidak bisa di-hash), akan mengembalikan list kosong dan mencetak pesan kesalahan.
  • Contoh Penggunaan:

    from ListMaster import get_duplicates
    data = [1, 2, 2, 3, 4, 4, 5]
    result = get_duplicates(data)
    print(result)  # Output: [2, 4]
    

Penggunaan

Untuk menggunakan modul ini, cukup impor modul list_unique.py dalam skrip Python Anda dan panggil fungsi yang diperlukan.

from ListMaster import unique_element, sum_unique, unique_and_sort, get_duplicates

data = [1, 2, 2, 3, 4, 4, 5]

print("Elemen Unik:", unique_element(data))               # Output: [1, 2, 3, 4, 5]
print("Jumlah Elemen Unik:", sum_unique(data))            # Output: 15
print("Elemen Unik Terurut:", unique_and_sort(data))      # Output: [1, 2, 3, 4, 5]
print("Elemen Duplikat:", get_duplicates(data))           # Output: [2, 4]

Author

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

listmaster-0.1.3.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

ListMaster-0.1.3-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file listmaster-0.1.3.tar.gz.

File metadata

  • Download URL: listmaster-0.1.3.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for listmaster-0.1.3.tar.gz
Algorithm Hash digest
SHA256 bb60b51d98c67da3b055fbf0899b69814002363433f4dd7265792539ce8c8c12
MD5 332d3f9e865925af5b9f6d4f54fd5ebb
BLAKE2b-256 a568070f5733fe8d12d62751409856492d795b35c238e8dbe388da71498951fc

See more details on using hashes here.

File details

Details for the file ListMaster-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ListMaster-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for ListMaster-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c0a02acf0f12b890563feb665842aa1fb171162810cae85dec42a48443b0e221
MD5 5591ec40eeeca94d2cc129699fd5aca3
BLAKE2b-256 32295305be77a93a1c8c48f34af16afc73bde7d7561a819f3c07b8793a019944

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page