Cara memisahkan indeks ganjil dan genap dengan python

Mencetak angka genap dan ganjil dari daftar Python adalah latihan yang bagus jika Anda memulai dengan Python dan Anda ingin mempelajari dasar-dasarnya

Untuk mengekstrak angka genap dan ganjil dari daftar Python, Anda dapat menggunakan for loop dan operator modulo Python. Opsi kedua adalah mengganti loop for dengan pemahaman daftar. Sintaks yang diperluas dari operator irisan juga memungkinkan untuk melakukan itu dengan satu baris kode tetapi hanya jika Anda memiliki daftar angka berurutan

Kami akan membahas beberapa contoh dalam tutorial ini dan tujuan menerapkan berbagai cara untuk menyelesaikan masalah yang sama adalah untuk menumbuhkan kreativitas yang Anda butuhkan sebagai pengembang Python

Mari kita mulai

Daftar isi

Bagaimana Anda Mencetak Angka Ganjil Dari Daftar dengan Python?

Untuk mencetak angka ganjil dari daftar angka, Anda dapat menggunakan operator modulo Python, terkait dengan konsep matematika sisa

Bila suatu bilangan ganjil dibagi 2, sisa pembagiannya adalah 1. Bila suatu bilangan genap dibagi 2, sisa pembagiannya adalah 0

Mari gunakan konsep ini dan loop for Python untuk mencetak angka ganjil dari daftar

def get_odd_numbers(numbers):
    odd_numbers = []

    for number in numbers:
        if number % 2 == 1:
            odd_numbers.append(number)

    return odd_numbers

Sebelum memulai perulangan for, kita mendefinisikan daftar kosong, lalu pada setiap iterasi perulangan for, kita menambahkan bilangan ganjil ke dalam daftar

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_

Bagaimana Anda Mencetak Angka Genap Dari Daftar dengan Python?

Ini sangat mirip dengan apa yang telah kita lihat di bagian sebelumnya…

Untuk mencetak angka genap dari daftar angka kita dapat mengekstrak angka yang dibagi 2 menghasilkan sisa sama dengan 0

Kodenya identik dengan kode yang telah kita buat untuk mengekstrak bilangan ganjil dengan perbedaan kecil pada kondisi if di dalam perulangan for

def get_even_numbers(numbers):
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append(number)

    return even_numbers

Dan hasil dari fungsi tersebut adalah…

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_even_numbers(numbers))

[output]
[2, 6, 8, 88, 100]

Cara Membuat Fungsi yang Memisahkan Angka Ganjil dan Genap dalam Daftar

Untuk memisahkan angka ganjil dan genap dalam sebuah daftar, kita dapat menggunakan pendekatan yang sama berdasarkan perulangan for yang digunakan sebelumnya dan menghasilkan dua daftar berbeda, satu untuk angka ganjil dan satu untuk angka genap

Alih-alih melakukan itu, saya ingin membuat kode kita lebih ringkas dengan menggunakan pemahaman daftar

Kami masih akan menggunakan konsep sisa ...

Mari buat fungsi dasar yang mengambil daftar sebagai argumen dan mengembalikan dua daftar, satu berisi angka ganjil dan satu lagi berisi angka genap

def split_list_even_odd(numbers):
    odd_numbers = [number for number in numbers if number % 2 == 1]
    even_numbers = [number for number in numbers if number % 2 == 0]
    return odd_numbers, even_numbers
_

Perhatikan bahwa fungsi ini mengembalikan dua daftar Python

Tahukah Anda dalam format apa daftar ini diterima oleh pemanggil fungsi?

Ayo cari tahu…

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(split_list_even_odd(numbers))

[output]
([3, 13, 45, 67, 99], [2, 6, 8, 88, 100])

Pemanggil fungsi menerima tuple dengan dua elemen. Kita dapat mengakses masing-masing dengan menggunakan tanda kurung siku dan indeks

print("The odd numbers are {}".format(split_list_even_odd(numbers)[0]))
print("The even numbers are {}".format(split_list_even_odd(numbers)[1]))

[output]
The odd numbers are [3, 13, 45, 67, 99]
The even numbers are [2, 6, 8, 88, 100]                                                                       
_

Jika Anda ingin tahu lebih banyak tentang. sintaks format() yang digunakan dalam pernyataan cetak Anda dapat melihat tutorial ini tentang menggabungkan string Python

Program Mencetak Bilangan Genap dan Ganjil Dari 1 Sampai 100

Untuk mencetak angka genap dan ganjil dari 1 hingga 100 pertama-tama kita dapat membuat daftar angka secara manual tetapi akan memakan waktu lama

Sebagai gantinya kita akan menggunakan fungsi Python range()

Inilah cara Anda dapat menghasilkan angka dari 1 hingga 100 menggunakan fungsi Python range()

>>> numbers = range(1,101)
>>> print(type(numbers))
<class 'range'>

Menariknya jenis objek yang dikembalikan oleh fungsi range() bukanlah sebuah daftar

Jadi, apa yang bisa kita lakukan dengannya?

Kita masih bisa menggunakan perulangan for atau pemahaman daftar untuk menelusuri semua angka…

>>> [number for number in numbers]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
_

Gunakan fungsi yang telah kita buat sebelumnya untuk mencetak angka genap dan ganjil

def split_list_even_odd(numbers):
    odd_numbers = [number for number in numbers if number % 2 == 1]
    even_numbers = [number for number in numbers if number % 2 == 0]
    return odd_numbers, even_numbers


numbers = range(1,101)
print("The odd numbers are {}".format(split_list_even_odd(numbers)[0]))
print("The even numbers are {}".format(split_list_even_odd(numbers)[1]))

[output]
The odd numbers are [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
The even numbers are [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
_

Bagaimana Anda Mencetak Angka Ganjil Dari Daftar Angka Berturutan dengan Python?

Cara paling sederhana untuk mencetak angka ganjil dari daftar angka berurutan adalah dengan perluasan sintaks operator irisan

Operator slice mengembalikan fragmen dari daftar yang diberi indeks awal (disertakan) dan indeks akhir (tidak disertakan)

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_0

Mari buat daftar yang berisi angka dari 1 sampai 10

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_1

Untuk mendapatkan 4 elemen pertama dari daftar dengan sintaks operator slice standar, kita dapat menggunakan ekspresi berikut

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_2

Catatan. seperti yang disebutkan sebelumnya, indeks akhir tidak disertakan dalam daftar yang dikembalikan oleh operator irisan

Untuk mendapatkan kembali daftar lengkap menggunakan operator irisan, Anda dapat menggunakan sintaks berikut

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_3

Ok, tapi bagaimana ini membantu kita mengambil angka ganjil saja?

Untuk itu kita harus menambahkan sesuatu ke sintaks dasar dari operator slice, itulah mengapa disebut extended syntax

Dengan sintaks yang diperluas Anda dapat meneruskan argumen ketiga ke operator irisan, argumen ini menentukan langkah antara item yang akan diambil dari daftar

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_4

Misalnya, jika nilai langkahnya adalah 2, operator irisan akan mengambil setiap 2 angka

Sekarang kita tahu ini, kita siap mengambil angka ganjil dari daftar kita…

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_5

Kami pada dasarnya mendapatkan kembali daftar lengkap karena kami belum menyediakan indeks awal dan akhir. Selain itu kami hanya mendapatkan angka ganjil karena kami telah menentukan langkah sama dengan 2

Bagaimana Anda Mencetak Angka Genap Dari Daftar Angka Berturutan dengan Python?

Ini sangat mirip dengan apa yang telah kita lihat di bagian sebelumnya…

Untuk mencetak angka genap dari daftar angka berurutan Python, Anda dapat menggunakan sintaks irisan yang diperluas dengan indeks awal sama dengan 1, indeks ujung kosong dan langkah sama dengan 2

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_6

Dan voila

Ini cukup sederhana setelah Anda terbiasa dengan sintaks operator slice

Program Python untuk Mencetak Angka Genap Terbesar dan Angka Ganjil Terbesar dalam Daftar

Untuk mencetak angka genap dan ganjil terbesar dalam daftar Python kita bisa mulai dari konsep yang telah kita lihat sebelumnya terkait dengan operator irisan

Hal tambahan yang harus kita lakukan adalah menerapkan fungsi max() ke daftar yang dikembalikan oleh operator slice

Bilangan Ganjil Terbesar

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_7

Bilangan Genap Terbesar

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_8

Bagus dan sederhana 🙂

Kembangkan Program Python yang Menghitung Angka Genap dan Ganjil dalam Daftar yang Disediakan oleh Pengguna

Sebelum menyelesaikan tutorial ini mari kita lihat bagaimana kita bisa menggunakan fungsi input Python untuk mendapatkan daftar angka dari input pengguna

Pertama-tama saya ingin melihat tipe data seperti apa yang kami terima dari input pengguna

numbers = [2, 3, 6, 8, 13, 45, 67, 88, 99, 100]
print(get_odd_numbers(numbers))

[output]
[3, 13, 45, 67, 99]
_9

Input pengguna adalah string tunggal jadi kita harus melakukan sedikit manipulasi string untuk mengubahnya menjadi daftar terlebih dahulu

Metode Python string split() memungkinkan untuk mengubah string menjadi daftar

def get_even_numbers(numbers):
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append(number)

    return even_numbers
0

Itu adalah langkah maju, tetapi kami masih memiliki daftar string dan kami menginginkan daftar bilangan bulat sebagai gantinya

Pemahaman daftar dan fungsi Python int() dapat digunakan untuk mengonversi daftar string menjadi daftar bilangan bulat

def get_even_numbers(numbers):
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append(number)

    return even_numbers
1

Bagus 🙂

Dan sekarang kami siap untuk membuat fungsi kami yang mengubah string yang disediakan oleh pengguna menjadi daftar bilangan bulat

def get_even_numbers(numbers):
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append(number)

    return even_numbers
2

Setelah mengonversi input pengguna menjadi daftar bilangan bulat, kita dapat memanggil fungsi split_list_even_odd() yang dibuat sebelumnya

Berikut program lengkapnya

def get_even_numbers(numbers):
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append(number)

    return even_numbers
_3

Mari jalankan program kita…

def get_even_numbers(numbers):
    even_numbers = []

    for number in numbers:
        if number % 2 == 0:
            even_numbers.append(number)

    return even_numbers
_4

Berhasil

Kesimpulan

Jika Anda ragu untuk mengekstrak angka genap dan ganjil dari daftar Python sebelum membaca artikel ini…

…sekarang Anda memiliki semua pengetahuan yang Anda butuhkan untuk melakukannya

Jika Anda merasa beberapa hal masih belum jelas kembali dan tulis ulang sendiri contoh-contoh di tutorial ini dari awal

Berlatih adalah cara terbaik untuk mempelajari dan mengingat konstruksi Python

Selamat mengkode. 😀

Pos terkait

Fungsi Masukan Python. Sebuah Tutorial Untuk Belajar Dengan Contoh

Deviasi Standar Panda. Analisis Data Anda Dengan Python

Kesalahan Piton. Nama Tidak Ditentukan. Ayo Perbaiki

Claudio Sabato

Saya Pimpinan Teknologi, Insinyur Perangkat Lunak, dan Pelatih Pemrograman. Saya ingin membantu Anda dalam perjalanan Anda untuk menjadi Pengembang Super

Bagaimana Anda memisahkan ganjil dan genap dengan Python?

Langkah 1. membuat daftar masukan pengguna. Langkah 2. ambil dua daftar kosong satu untuk ganjil dan satu lagi untuk genap. Langkah 3. lalu lintasi setiap elemen dalam daftar utama. Langkah 4. setiap elemen dibagi dengan 2, jika sisa adalah 0 maka itu bilangan genap dan tambahkan ke daftar genap, jika tidak, bilangan ganjil dan tambahkan ke daftar ganjil

Bagaimana Anda menemukan indeks genap dan ganjil di Python?

Bagaimana cara mengindeks daftar untuk menampilkan elemen genap dan ganjil dengan python? .
+ 4. Anda dapat menggunakan loop for untuk mengulangi daftar dan Anda mendapatkan satu elemen di setiap iterasi. .
+ 3. lst = [daftar_Anda] peluang = pertama[1. 2] genap = lst[0. 2].
+ 3. .

Bagaimana Anda memilih indeks ganjil dalam daftar Python?

Salah satu caranya adalah menggunakan fungsi range() , sehingga dimulai pada indeks ganjil pertama, 1 , dan memiliki nilai langkah . . Cara lain untuk mendapatkan indeks ganjil dari daftar adalah menggunakan pemahaman daftar, di mana Anda dapat menggunakan kondisi yang hanya akan menyertakan indeks ganjil.

Bagaimana Anda menghapus elemen yang diindeks ganjil dari daftar?

hapus(x) . Untuk menghapus semua peluang lakukan. iter_lst = iter(lst); . pertama. hapus (x).