Python membandingkan daftar dengan nilai

Python menyediakan banyak cara untuk membandingkan kedua daftar tersebut. Perbandingan adalah proses ketika item data dari daftar diperiksa terhadap item data lain dari daftar, apakah sama atau tidak

Metode membandingkan dua daftar diberikan di bawah ini

  • Fungsi cmp()
  • Fungsi set() dan operator ==
  • Fungsi sort() dan operator ==
  • Koleksi. fungsi penghitung()
  • Fungsi reduce() dan map()

Fungsi cmp()

Fungsi cmp() Python membandingkan dua objek Python dan mengembalikan nilai integer -1, 0, 1 sesuai dengan perbandingan

Catatan - Ini tidak digunakan di Python 3. versi x

Fungsi set() dan operator ==

Fungsi set() Python memanipulasi daftar ke dalam set tanpa memperhatikan urutan elemen. Selain itu, kami menggunakan operator sama dengan (==) untuk membandingkan item data dari daftar. Mari kita pahami contoh berikut

Contoh -

Keluaran

The list1 and list2 are equal

Penjelasan

Dalam contoh di atas, kami telah mendeklarasikan kedua daftar untuk dibandingkan satu sama lain. Kami mengubah daftar tersebut menjadi set dan membandingkan setiap elemen dengan bantuan == operator. Semua elemen sama di kedua daftar, lalu jika blok dieksekusi dan cetak hasilnya

Metode sort() dengan operator ==

Fungsi python sort() digunakan untuk mengurutkan daftar. Elemen daftar yang sama adalah posisi indeks yang sama artinya;

Catatan - Dalam metode sort(), kita dapat meneruskan item daftar dalam urutan apa pun karena kita mengurutkan daftar sebelum perbandingan

Mari kita pahami contoh berikut -

Contoh -

Keluaran

The list1 and list3 are not the same
The list1 and list2 are not the same
_

Koleksi. fungsi penghitung()

Modul koleksi menyediakan penghitung (), yang membandingkan daftar secara efisien. Ini menyimpan data dalam format kamus. dan menghitung frekuensi item daftar

Catatan - Urutan elemen daftar tidak penting dalam fungsi ini

Contoh -

Keluaran

The lists list1 and list2 are not the same
The lists list1 and list3 are the same

Pengurangan() dan peta()

Fungsi map() menerima fungsi dan objek iterable Python (daftar, tuple, string, dll) sebagai argumen dan mengembalikan objek peta. Fungsi mengimplementasikan ke setiap elemen daftar dan mengembalikan sebuah iterator sebagai hasilnya

Selain itu, metode reduce() mengimplementasikan fungsi yang diberikan ke objek iterable secara rekursif

Di sini, kita akan menggunakan kedua metode tersebut dalam kombinasi. Fungsi map() akan mengimplementasikan fungsi tersebut (bisa berupa fungsi yang ditentukan pengguna atau lambda) ke setiap objek yang dapat diubah dan fungsi pengurangan() yang akan diterapkan secara rekursif

Daftar adalah iterable yang sangat berguna di Python. Setiap elemen disimpan pada indeks tertentu dan dapat diakses menggunakan indeks ini

Kita bisa membandingkan semua elemen dalam daftar dengan Python. Kami dapat memiliki situasi yang berbeda untuk ini dan metodenya dapat bervariasi tergantung pada hasil yang diperlukan. Pada artikel ini, kami akan mendemonstrasikan cara membandingkan setiap elemen dalam daftar dengan setiap elemen lainnya setidaknya satu kali

Cara membandingkan elemen daftar satu sama lain dengan Python

Berbagai metode dibahas di bawah ini. Kami mengambil kasus umum untuk membandingkan elemen satu sama lain setidaknya sekali.

Menggunakan loop for_ untuk membandingkan semua elemen dalam daftar Python

Kami dapat mengulangi daftar menggunakan for loop. Untuk membandingkan semua elemen satu sama lain, kami akan menggunakan loop bersarang. Loop bersarang adalah loop di loop lain

Loop luar akan mengambil satu elemen dan loop dalam akan membandingkannya dengan setiap elemen lainnya. Sebagai contoh kita, kita akan memeriksa apakah suatu elemen lebih kecil dari elemen daftar lainnya. Kami dapat melakukan perbandingan apa pun yang kami inginkan, dan juga dapat menggantinya dengan fungsi perbandingan yang ditentukan pengguna

Kami akan menyimpan hasil untuk setiap perbandingan dalam daftar yang akan ditampilkan setelah loop bersarang berakhir. Metode ini akan menampilkan daftar yang berbeda untuk setiap elemen

Lihat kode di bawah ini

1

2

3

4

5

6

7

8

9

10

11

 

lst = [1,5,8,9,6]

untuk i di pertama.

    res = []

    idx = dulu. indeks(i)

    untuk j dalam rentang(len(lst)):

        jika(idx == j):

            lanjutkan

        res. tambahkan(i < dulu[j])

    cetak(res)    

 

Keluaran

[Benar, Benar, Benar, Benar] [Salah, Benar, Benar, Benar] [Salah, Salah, Benar, Salah] [Salah, Salah, Salah, Salah] [Salah, Salah, Benar, Benar]

Mari kita pahami apa yang terjadi pada kode di atas

  • Kami mendefinisikan daftar dengan lima elemen dan kami ingin membandingkan setiap elemen satu sama lain, sehingga akan ada empat perbandingan
  • Kami mendefinisikan for loop untuk beralih melalui daftar dan menyimpan indeks untuk elemen ini dalam variabel idx
  • Kami sekarang membuat loop bersarang untuk mengulang lagi melalui daftar menggunakan indeksnya
  • Dalam loop ini, kami memeriksa indeks elemen di loop luar dengan indeks iterasi untuk menghindari membandingkan elemen dengan dirinya sendiri
  • Pernyataan continue_ memaksa iterasi berikutnya
  • Kami kemudian melakukan perbandingan, menyimpan hasilnya dalam daftar res dan menampilkannya setelah loop bersarang berakhir

Kami juga dapat menghadapi situasi yang lebih sederhana untuk perbandingan. Misalnya, jika kita ingin menemukan elemen terkecil dalam daftar, kita dapat melakukannya dengan satu putaran for

Kami akan menetapkan elemen pertama sebagai terkecil dan dengan setiap iterasi, bandingkan variabel ini dengan setiap elemen daftar, perbarui jika menemukan nilai yang lebih kecil dari dirinya sendiri

Lihat kode di bawah ini

1

2

3

4

5

6

7

8

 

lst = [1,5,8,9,6]

a = dulu[0]

untuk i di pertama.

    jika(a>i):

        a = i

cetak(a)

 

Keluaran

1

Bacaan lebih lanjut

Daftar daftar python

Baca lebih lanjut →

Daftar persimpangan di python

Baca lebih lanjut →

Menggunakan fungsi itertools.combinations()_ untuk membandingkan semua elemen dalam daftar Python

Di Python, kita dapat bekerja dengan iterables dan menghasilkan iterables yang lebih kompleks menggunakan pustaka itertools

Fungsi itertools.combinations()_ menerapkan rumus kombinasi matematika dan dapat digunakan untuk membentuk semua kemungkinan kombinasi elemen dari iterable, dengan mengambil sejumlah elemen waktu tertentu

Kami akan membuat semua kemungkinan pasangan elemen unik dari daftar dengan menggunakan fungsi for0. Kami akan membandingkan pasangan ini berdasarkan kriteria kami dan menampilkan hasilnya

1

2

3

4

5

 

impor itertools

untuk a, b di itertools.kombinasi(pertama, 2 . ):

    cetak(a, '<' , b, a<b )

 

Keluaran

1 < 5 Benar
1 < 8 Benar
1 < 9 Benar
1 < 6 Benar
5 < 8 Benar
5 < 9 Benar
5 < 6 Benar
8 < 9 Benar
8 < 6 Salah
9 < 6 Salah

Dalam contoh di atas, kami membuat pasangan unik dari daftar menggunakan fungsi itertools.combinations() dan membandingkan setiap pasangan dan mencetak hasil dari setiap perbandingan

Kesimpulan

Sebagai penutup, kami membahas cara membandingkan elemen daftar satu sama lain dengan Python. Metode pertama melibatkan penggunaan loop bersarang untuk membandingkan elemen dengan setiap elemen lain dari daftar

Kami menggunakan fungsi itertools.combinations()_ dalam metode kedua untuk membentuk pasangan unik dari elemen loop dan membandingkannya

Bagaimana Anda membandingkan daftar dengan nilai di Python?

Menggunakan daftar. sort() metode mengurutkan dua daftar dan operator == membandingkan dua daftar item demi item yang berarti mereka memiliki item data yang sama pada posisi yang sama. Ini memeriksa apakah daftar berisi nilai item data yang sama tetapi tidak memperhitungkan urutan elemen dalam daftar.

Bisakah Anda menggunakan == untuk membandingkan daftar dengan Python?

Operator == membandingkan daftar, item demi item (perbandingan berdasarkan elemen) . Urutan item daftar asli tidak penting, karena daftar diurutkan sebelum perbandingan. Catatan. Anda hanya dapat mengurutkan daftar dengan item dari tipe data yang sama.

Bagaimana cara memeriksa apakah semua item dalam daftar sama dengan nilai di Python?

Metode 3. Menggunakan Fungsi Python all() . print "Semua elemen dalam daftar adalah sama. " kalau tidak. print "Semua elemen dalam daftar tidak sama. " listChar = ['z','z','z','z'] if all(x == listChar[0] for x in listChar): print "All elements in list are equal." else: print "All elements in list are not equal." Keluaran. Semua elemen dalam daftar adalah sama. Jika fungsi all() mengembalikan nilai true berarti semua elemen dalam daftar adalah sama.

Bagaimana Anda membandingkan satu elemen daftar dengan semua elemen lain di Python?

Kita dapat mengulangi daftar menggunakan perulangan for. Untuk membandingkan semua elemen satu sama lain, kita akan menggunakan loop bersarang . Loop bersarang adalah loop di loop lain. Loop luar akan mengambil satu elemen dan loop dalam akan membandingkannya dengan setiap elemen lainnya.