logo

Како упоредити две листе у Питхон-у

Питхон нуди више начина за упоређивање две листе. Поређење је процес када се ставке података проверавају у односу на другу ставку података на листи, без обзира да ли су исте или не.

 list1 - [11, 12, 13, 14, 15] list2 - [11, 12, 13, 14, 15] Output - The lists are equal 

Методе поређења две листе су дате у наставку.

  • Функција цмп().
  • Функција сет() и оператор ==
  • Функција сорт() и == оператор
  • Функција цоллецтион.цоунтер().
  • Функције редуцира () и мап ().

Функција цмп().

Тхе Питхон цмп() функција упоређује два Питхон објекта и враћа целобројне вредности -1, 0, 1 према поређењу.

Напомена – Не користи се у верзији Питхон 3.к.

Функција сет() и оператор ==

Питхон комплет() функција манипулисати листом у скуп не водећи рачуна о редоследу елемената. Осим тога, користимо оператор једнакости (==) да упоредимо ставке података на листи. Хајде да разумемо следећи пример.

тип враћања у јава

Пример -

 list1 = [11, 12, 13, 14, 15] list2 = [12, 13, 11, 15, 14] a = set(list1) b = set(list2) if a == b: print('The list1 and list2 are equal') else: print('The list1 and list2 are not equal') 

Излаз:

 The list1 and list2 are equal 

Објашњење:

У горњем примеру, прогласили смо да се две листе међусобно пореде. Те листе смо конвертовали у скуп и упоредили сваки елемент уз помоћ == оператора. Сви елементи су једнаки у обе листе, онда ако се блок изврши и одштампа резултат.

листе латекса

Метод сорт() са == оператором

Питхон врста() функција се користи за сортирање листа. Елементи исте листе су иста позиција индекса што значи; листе су једнаке.

Напомена – У методи сорт() можемо проследити ставке листе било којим редоследом јер сортирамо листу пре поређења.

Хајде да разумемо следећи пример -

Пример -

 import collections list1 = [10, 20, 30, 40, 50, 60] list2 = [10, 20, 30, 50, 40, 70] list3 = [50, 10, 30, 20, 60, 40] # Sorting the list list1.sort() list2.sort() list3.sort() if list1 == list2: print('The list1 and list2 are the same') else: print('The list1 and list3 are not the same') if list1 == list3: print('The list1 and list2 are not the same') else: print('The list1 and list2 are not the same') 

Излаз:

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

Функција цоллецтион.цоунтер().

Модул за прикупљање обезбеђује цоунтер(), који ефикасно упоређују листу. Он чува податке у формату речника: и броји учесталост ставки листе.

како отворити јсон датотеку

Напомена – Редослед елемената листе није битан у овој функцији.

Пример -

 import collections list1 = [10, 20, 30, 40, 50, 60] list2 = [10, 20, 30, 50, 40, 70] list3 = [50, 10, 30, 20, 60, 40] if collections.Counter(list1) == collections.Counter(list2): print('The lists l1 and l2 are the same') else: print('The lists l1 and l2 are not the same') if collections.Counter(list1) == collections.Counter(list3): print('The lists l1 and l3 are the same') else: print('The lists l1 and l3 are not the same') 

Излаз:

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

Редуцира() и мап()

Тхе Мапа() функција прихвата функцију и Питхон итерабле објекат (листу, тупле, стринг, итд.) као аргументе и враћа објекат мапе. Функција се примењује на сваки елемент листе и као резултат враћа итератор.

Поред смањити() метода рекурзивно имплементира дату функцију у итерабле објекат.

Овде ћемо користити обе методе у комбинацији. Тхе Мапа() функција би имплементирала функцију (то може бити кориснички дефинисана или ламбда функција) на сваки итерабле објекат и смањити() функција води рачуна о томе би се применила на рекурзивни начин.

Напомена – Морамо да увеземо модул фунцтоол да бисмо користили функцију редуцира ().

Хајде да разумемо следећи пример.

Пример -

 import functools list1 = [10, 20, 30, 40, 50] list2 = [10, 20, 30, 50, 40, 60, 70] list3 = [10, 20, 30, 40, 50] if functools.reduce(lambda x, y: x and y, map(lambda a, b: a == b, list1, list2), True): print('The list1 and list2 are the same') else: print('The list1 and list2 are not the same') if functools.reduce(lambda x, y: x and y, map(lambda a, b: a == b, list1, list3), True): print('The list1 and list3 are the same') else: print('The list1 and list3 are not the same') 

Излаз:

програмирање у ц низовима
 The list1 and list2 are not the same The list1 and list3 are the same 

У овом одељку смо покрили различите методе поређења две листе у Питхон-у.