πŸ” Как ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ списки Π² Python: простыС ΠΈ эффСктивныС способы πŸ”

Как ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ списки Π² Python?

Для сравнСния списков Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, доступныС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками.

1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния:


list1 = [1, 2, 3]
list2 = [1, 2, 3]
if list1 == list2:
    print("Бписки Ρ€Π°Π²Π½Ρ‹")
else:
    print("Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹")
  

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния "==" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сравнСния списков list1 ΠΈ list2. Если списки Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ выводится сообщСниС "Бписки Ρ€Π°Π²Π½Ρ‹", Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС выводится сообщСниС "Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹".

2. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками:


list1 = [1, 2, 3]
list2 = [2, 3, 4]
if set(list1) == set(list2):
    print("Бписки содСрТат ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ элСмСнты")
else:
    print("Бписки содСрТат Ρ€Π°Π·Π½Ρ‹Π΅ элСмСнты")
  

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ списков Π² мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ set(). Π—Π°Ρ‚Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния "==" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сравнСния мноТСств. Если списки содСрТат ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ элСмСнты, выводится сообщСниС "Бписки содСрТат ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ элСмСнты", Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС выводится сообщСниС "Бписки содСрТат Ρ€Π°Π·Π½Ρ‹Π΅ элСмСнты".

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ списки Π² Python

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ списков являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ€Π°Π²Π½Ρ‹ Π»ΠΈ Π΄Π²Π° списка. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы сравнСния списков Π² языкС программирования Python.

1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ "=="

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π²Π° списка Π² Python - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ "==".


list1 = [1, 2, 3]
list2 = [1, 2, 3]
    
if list1 == list2:
    print("Бписки Ρ€Π°Π²Π½Ρ‹")
else:
    print("Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹")
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π΄Π²Π° списка - list1 ΠΈ list2 ΠΈ сравниваСм ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° "==". Если списки Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ "Бписки Ρ€Π°Π²Π½Ρ‹", Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ "Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹".

2. Ѐункция "cmp()"

Π”ΠΎ вСрсии Python 3.Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "cmp()" для сравнСния списков.


list1 = [1, 2, 3]
list2 = [1, 2, 3]
    
if cmp(list1, list2) == 0:
    print("Бписки Ρ€Π°Π²Π½Ρ‹")
else:
    print("Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹")
    

Однако, начиная с Python 3.Ρ…, функция "cmp()" Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· языка, поэтому этот ΠΌΠ΅Ρ‚ΠΎΠ΄ большС Π½Π΅ доступСн.

3. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ поэлСмСнтно

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ списки - поэлСмСнтноС сравнСниС. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» для сравнСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π΄Π²ΡƒΡ… списков.


list1 = [1, 2, 3]
list2 = [1, 2, 3]
    
equal = True
    
if len(list1) == len(list2):
    for i in range(len(list1)):
        if list1[i] != list2[i]:
            equal = False
            break
else:
    equal = False
    
if equal:
    print("Бписки Ρ€Π°Π²Π½Ρ‹")
else:
    print("Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹")
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сравниваСм Π΄Π»ΠΈΠ½Ρƒ Π΄Π²ΡƒΡ… списков ΠΈ Π·Π°Ρ‚Π΅ΠΌ сравниваСм ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт списков. Если хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт различаСтся, Ρ‚ΠΎ ΠΌΡ‹ устанавливаСм Ρ„Π»Π°Π³ "equal" Π² "False" ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ». ПослС Ρ†ΠΈΠΊΠ»Π° ΠΌΡ‹ провСряСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„Π»Π°Π³Π° "equal" ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

4. ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "set()"

Если порядок элСмСнтов Π² списках Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "set()" для сравнСния списков.


list1 = [1, 2, 3]
list2 = [3, 2, 1]
    
if set(list1) == set(list2):
    print("Бписки Ρ€Π°Π²Π½Ρ‹")
else:
    print("Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹")
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ ΠΎΠ±Π° списка Π² мноТСства с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "set()". ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ порядок элСмСнтов, поэтому Ссли мноТСства Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ списки Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π²Π½Ρ‹.

5. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ "numpy"

Если ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ со списками, содСрТащими числовыС значСния, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ "numpy" для сравнСния списков.


import numpy as np
    
list1 = [1, 2, 3]
list2 = [1, 2, 4]
    
if np.array_equal(list1, list2):
    print("Бписки Ρ€Π°Π²Π½Ρ‹")
else:
    print("Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹")
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ "numpy" ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "array_equal()" для сравнСния списков. Если списки Ρ€Π°Π²Π½Ρ‹, Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ "Бписки Ρ€Π°Π²Π½Ρ‹", Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ "Бписки Π½Π΅ Ρ€Π°Π²Π½Ρ‹".

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы сравнСния списков Π² языкС программирования Python. ΠœΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° "==", Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "cmp()" (Π΄ΠΎ вСрсии Python 3.Ρ…), поэлСмСнтного сравнСния, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "set()" ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ "numpy". Π’Ρ‹Π±ΠΎΡ€ способа сравнСния зависит ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ особСнностСй вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, поэтому Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ подходящий ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

#14. Π‘Ρ€Π΅Π·Ρ‹ списков ΠΈ сравнСниС списков | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Python. Бписки. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅

Python с нуля | Бписки Π² Python | ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков, сортировка списка, срСзы списков Π² Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”’ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ подсчСт Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: простой способ для всСх

πŸ”Ž Как обозначаСтся функция нахоТдСния модуля числа Π² Python? πŸ’»

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ JSON с Π²Π΅Π±-сайта с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

πŸ” Как ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ списки Π² Python: простыС ΠΈ эффСктивныС способы πŸ”

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Π»Ρ„Π°Π²ΠΈΡ‚ Π² Python: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ def Π² Python ΠΈ Π³Π΄Π΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

πŸ”’ Как вывСсти ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ число Π² Python: простоС руководство