Питхон нуди више начина за упоређивање две листе. Поређење је процес када се ставке података проверавају у односу на другу ставку података на листи, без обзира да ли су исте или не.
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
У овом одељку смо покрили различите методе поређења две листе у Питхон-у.