Bagaimana cara membandingkan dua nilai daftar dengan python?

Kami akan mempelajari semua kemungkinan kasus perbandingan daftar dengan Python. Kita juga akan mempelajari berbagai metode untuk tujuan yang sama

    Daftar isi


Bandingkan jika 2 daftar sama dengan urutan yang sama

Untuk membandingkan sesuatu dengan Python, kami menggunakan

# Method 2: For loop
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]

for i in range(len(list1)):
    if list1[i] != list2[i]:
        print(False)
        break
else:
    print(True)
2 operator atau
# Method 2: For loop
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]

for i in range(len(list1)):
    if list1[i] != list2[i]:
        print(False)
        break
else:
    print(True)
3 operator

  1. == (sama dengan) - Ini membandingkan 2 nilai dan mengembalikan
    # Method 2: For loop
    list1 = [1, 2, 3, 4, 5]
    list2 = [1, 2, 3, 4, 5]
    
    for i in range(len(list1)):
        if list1[i] != list2[i]:
            print(False)
            break
    else:
        print(True)
    4 jika kedua nilai sama.
  2. is (identik dengan) - Ini membandingkan 2 variabel dan mengembalikan
    # Method 2: For loop
    list1 = [1, 2, 3, 4, 5]
    list2 = [1, 2, 3, 4, 5]
    
    for i in range(len(list1)):
        if list1[i] != list2[i]:
            print(False)
            break
    else:
        print(True)
    4 jika kedua variabel menunjuk ke objek yang sama. Ini berarti alamat memori kedua variabel sama.

Kita akan menggunakan == karena saat menggunakan is we are comparing the memory address of 2 variables which will be different in the case of 2 different lists.


Membandingkan 2 daftar untuk urutan item yang sama

Metode 1. == Operator

Kita dapat menggunakan operator == untuk membandingkan 2 daftar. Jika kedua daftar memiliki elemen yang sama dalam urutan yang sama maka akan mengembalikan

# Method 2: For loop
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]

for i in range(len(list1)):
    if list1[i] != list2[i]:
        print(False)
        break
else:
    print(True)
4.

# python compare two lists
# Method 1: == Operator
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]
print(list1 == list2) # True

Keluaran

True
_

Metode 2. Menggunakan lingkaran

Kita juga dapat menggunakan for loop untuk membandingkan 2 list

Karena kita harus memeriksa hanya jika elemen pada posisi mana pun di list1 sama dengan elemen pada posisi yang sama di list2, jadi . Kita bisa membandingkannya dalam satu iterasi.

# Method 2: For loop
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]

for i in range(len(list1)):
    if list1[i] != list2[i]:
        print(False)
        break
else:
    print(True)

Keluaran

True
_

Bandingkan jika 2 daftar sama terlepas dari urutannya

Saat Anda membandingkan 2 daftar terlepas dari urutan elemen dalam daftar, itu menjadi tugas yang sedikit rumit. Sekarang Anda tidak bisa hanya menyamakan 2 daftar dan memeriksa apakah keduanya sama

Untuk membandingkan daftar sekarang Anda memiliki 2 pendekatan

  1. Sortir kedua daftar lalu bandingkan
  2. Bandingkan setiap elemen list1 dengan setiap elemen list2 and check if they exist in both lists.

Membandingkan 2 daftar untuk urutan item yang berbeda

Metode 1. Sortir kedua daftar

Sortir kedua daftar. Ini akan membuat daftar berada dalam urutan yang sama jika mereka memiliki elemen yang sama

Sekarang cukup bandingkan kedua daftar menggunakan operator == .

Bagaimana cara membandingkan dua nilai daftar dengan python?
# Method 1
list1 = [4, 1, 5, 2, 3]
list2 = [3, 5, 2, 1, 4]

# Sort both the lists
list1.sort()
list2.sort()

# Compare both the lists
print(list1 == list2)
_

Keluaran

True
_

Metode 2. Bandingkan Elemen Individu

Pendekatan lainnya adalah membandingkan setiap elemen list1 dengan setiap elemen list2 and check if they exist in both lists.

Sebelum membandingkan elemen, periksa dulu apakah kedua daftar memiliki panjang yang sama. Jika mereka tidak memiliki panjang yang sama maka mereka tidak sama

Kami akan membuat fungsi di sini yang akan mengambil 2 daftar sebagai argumen dan melakukan perbandingan

# Python compare two lists individual element
# Method 2
list1 = [4, 1, 5, 2, 3]
list2 = [3, 5, 2, 1, 4]

def compare(list1, list2):
    # Check if both the lists have the same length
    if len(list1) != len(list2):
        print(len(list1), len(list2))
        return False

    # Check if all the elements of both the lists are same
    count = 0
    for i in range(len(list1)):
        for j in range(len(list2)):
            if list1[i] == list2[j]:
                count += 1
                break
    # check if count is equal to length of list
    if count == len(list1):
        return True
    else:
        return False

# call the function
print(compare(list1, list2))

Keluaran

True
_

Dapatkan persimpangan 2 daftar

Menemukan persimpangan 2 daftar berarti menemukan semua elemen yang ada di kedua daftar

Ada banyak cara untuk menemukan irisan dari 2 daftar. Cara paling umum untuk mendapatkan persimpangan adalah menggunakan struktur data set .

Metode 1. Temukan persimpangan menggunakan set

A set terdiri dari elemen unik. Jadi jika mengambil satu set daftar maka itu akan mengembalikan elemen unik dari daftar tersebut.

Untuk menemukan persimpangan daftar, Anda dapat mengambil satu set dari kedua daftar dan menggunakan operator & untuk menemukan persimpangan.

# set() + & operator
a = [6, 2, 7, 1, 5]
b = [9, 4, 6, 8, 2]

# find intersection
result = set(a) & set(b)
print(list(result))

result = set(b) & set(a)
print(list(result))

Keluaran

[2, 6]
[2, 6]

Keduanya

# Method 2: For loop
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]

for i in range(len(list1)):
    if list1[i] != list2[i]:
        print(False)
        break
else:
    print(True)
7 atau
# Method 2: For loop
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]

for i in range(len(list1)):
    if list1[i] != list2[i]:
        print(False)
        break
else:
    print(True)
8 akan mengembalikan hasil yang sama

Anda juga dapat menggunakan metode intersection() dari set class to find intersections.

True
_0

Keluaran

[2, 6]
[2, 6]

Metode 2. Temukan persimpangan menggunakan pemahaman daftar

Cara lain untuk menemukan persimpangan 2 daftar adalah menggunakan pemahaman daftar

Dalam pemahaman daftar, kami akan menggunakan kondisi if untuk memeriksa apakah ada elemen di kedua daftar.

True
_2

Keluaran

True
_3

Atau, Anda dapat menggunakan for loop untuk menemukan persimpangan.

Perulangan juga akan mengikuti logika yang sama dengan pemahaman daftar

True
_4

Keluaran

True
_3

Dapatkan perbedaan dari 2 daftar

Menemukan perbedaan elemen dari daftar pertama ke daftar kedua berarti menemukan semua elemen yang ada di daftar pertama tetapi tidak ada di daftar kedua

Untuk mendapatkan perbedaan antara 2 daftar, Anda dapat menggunakan struktur data set dan menggunakan - . operator to find the difference.

True
_6

Keluaran

True
_7

Perbedaan antara daftar1 dengan daftar2 dan list2 to list1 will be different.

Anda juga dapat menggunakan metode difference() dari set class to find differences.

True
_8

Keluaran

True
_7

Bandingkan jika 2 daftar sama dengan mengabaikan huruf besar-kecil

Misalkan daftar Anda berisi nilai string dan Anda ingin membandingkan jika 2 daftar sama dengan mengabaikan huruf besar-kecil

Untuk melakukan ini, Anda dapat menggunakan kelas str untuk mengonversi semua nilai string menjadi huruf kecil dan kemudian menggunakan == operator to compare (If elements are not in the same order then you can use the methods discussed above).

# Method 2: For loop
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 4, 5]

for i in range(len(list1)):
    if list1[i] != list2[i]:
        print(False)
        break
else:
    print(True)
0

Keluaran

True
_

Kesimpulan

Pada artikel ini, kita telah membahas berbagai cara bagaimana Python membandingkan dua daftar. Kami telah melihat kasus seperti membandingkan 2 daftar, menemukan persimpangan, menemukan perbedaan, dan membandingkan 2 daftar yang mengabaikan kasus tersebut

Bagaimana Anda membandingkan dua daftar nilai?

ArrayList. equals() adalah metode yang digunakan untuk membandingkan dua List Array. Itu membandingkan daftar Array karena, kedua daftar Array harus memiliki ukuran yang sama, dan semua pasangan elemen yang sesuai dalam dua daftar Array adalah sama. Parameter. Fungsi ini memiliki parameter tunggal yang merupakan objek yang akan dibandingkan untuk kesetaraan.

Bisakah kita membandingkan dua daftar dengan Python?

Metode 5. cmp() Fungsi . Fungsi juga dapat membandingkan dua item dan mengembalikan hasil berdasarkan masukan yang diberikan. Nilai pengembalian ini bisa menjadi salah satu dari tiga hal. 1, 0 atau -1

Bagaimana Anda membandingkan dua daftar dan menemukan perbedaannya dengan Python?

Perbedaan antara dua daftar (katakanlah daftar1 dan daftar2) dapat ditemukan dengan menggunakan fungsi sederhana berikut. Dengan Menggunakan fungsi di atas, perbedaannya dapat ditemukan menggunakan diff(temp2, temp1) atau diff(temp1, temp2) . Keduanya akan memberikan hasil ['Empat', 'Tiga'].