Разлики между Python Tuple срещу List

Python Tuple vs List е най-често използваните структури от данни в Python. Те съхраняват колекция от предмети, или обекти, или стойности в определена последователност. Те могат да съхраняват елементи от всякакъв тип данни и този елемент може да бъде достъпен с помощта на неговия индекс. Това са приликите в списъците и кортежите, но каква е разликата?

Разликата е, че един кортеж е неизменен. Това означава, че тя не може да бъде променяна, променяна или манипулирана. За този имот обикновено се използва един кортеж. Едно от многото приложения за Python кортежи е разопаковането на последователности, при което съхраняваме върнатите данни в няколко определени променливи. Нека разгледаме този пример за кортеж:

def test ()
връщане 1, 2
a, b = тест ()
отпечатате (а, б)

Тук сме използвали кортеж, за да върнем стойността от функцията и следователно, докато печатаме стойността, не можем да я модифицираме.

Python Tuple може или да няма скоби около него или скоби като „()“ Това помага на Python да разбере списък от пакет. Списъкът на Python се определя от квадратни скоби. Функционалността му е подобна на това как работи масив на други езици. Пример:

x = (1, 3, 5, 6, 2, 1, 6) print (x): Отпечатва пълния списък
print (x (0), x (1)): Отпечатва списъка, започващ с индекс 0

Често объркани поради приликите си, тези две структури са значително различни.

Сравнение между главата на Python Tuple и списък (Инфографика)

По-долу е топ 6 за сравнение Python Tuple срещу списък

Основни разлики между Python Tuple и List

По-долу са списъците с точки, опишете ключовите разлики между Python Tuple срещу List:

Функционалност на операциите

Списъците имат допълнителна вградена функция в сравнение с кортежите. Списъците и кортежите имат общи методи за индекс () и count (), но различни от тях списъците имат много функции, които се прилагат само за списъци като append (), remove (), clear (), Sort (), reverse ( ) и т.н.

Можем да използваме вградената функция dir ((обект)), за да открием всички функции, свързани със списъци и кортежи. Изходът за такава команда ще бъде следният:

Списък на обекта:

( "__Add__ ',
"__Class__"
'__съдържа__',
"__Delattr__"
"__Delitem__"
"__Dir__"
"__Doc__"
"__Eq__"
"__Format__"
"__Ge__"
"__Getattribute__"
"__Getitem__"
"__Gt__"
"__Hash__"
"__Iadd__"
"__Imul__"
'__в него__',
"__Init_subclass__"
"__Iter__"
"__Le__"
"__Len__"
"__Lt__"
"__Mul__"
"__Ne__"
"__New__"
"__Reduce__"
"__Reduce_ex__"
"__Repr__"
"__Reversed__"
"__Rmul__"
"__Setattr__"
"__Setitem__"
'__размер на__',
"__Str__"
"__Subclasshook__"
"Прикрепя към него",
"Изчисти",
'копие',
'броя',
'разшири',
"Индекс",
"Вмъкнете"
"Поп",
'Премахване',
'обратен',
'вид')

Tuple обект:

( "__Add__ ',
"__Class__"
'__съдържа__',
"__Delattr__"
"__Dir__"
"__Doc__"
"__Eq__"
"__Format__"
"__Ge__"
"__Getattribute__"
"__Getitem__"
"__Getnewargs__"
"__Gt__"
"__Hash__"
'__в него__',
"__Init_subclass__"
"__Iter__"
"__Le__"
"__Len__"
"__Lt__"
"__Mul__"
"__Ne__"
"__New__"
"__Reduce__"
"__Reduce_ex__"
"__Repr__"
"__Rmul__"
"__Setattr__"
'__размер на__',
"__Str__"
"__Subclasshook__"
'броя',
"Индекс")

Можем да видим, че има допълнителни функционалности, свързани със списък, отколкото за кортеж.

Оценка на размера

Операциите с кортеж имат по-малък размер от този на операциите със списък. Това прави операциите по-бързи, когато има огромен брой елементи. Нека да видим пример за изчисляване на размера на списъка и елементи на кортеж.

x = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
y = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
отпечатате ( "х =", х .__ sizeof __ ())
отпечатване ( "Y = ', у .__ sizeof __ ())

изход:

x = 104
у = 120

В този пример имаме кортеж x и списък y, съдържащ същия брой елементи, но размерът на кортежа е по-малък от този на списъка.

Случаи за разнообразна употреба

Първоначално може да изглежда, че списъците винаги ще могат да заменят кортежите, но това не е така. Можем да разберем това поради следните причини:

  • Когато един кортеж се използва за разлика от списък, той дава на зрителя представа, че наличните данни могат и не трябва да се променят.
  • Капаците често се използват за съхранение на данни като равни на речник без ключове.

Пример:

((„Служител1“, 1000), („Служител2“, 1001), („Служител3“, 1002 г.)

Кортежите могат да се използват и като ключове в речниците поради тяхната бързина и неизменност. Списъците не са подходящи за това, тъй като те не могат да се справят с функцията __hash __ () и са сменяеми по своята същност.

key_value = (('a', 'b'): 1) # Валидно
key_value = (('a', 'b'): 1) # Невалиден

  • Четенето се увеличава, т.е. четенето на информация е по-лесно, когато кортежите се съхраняват в списък, за разлика от това, когато списъците се съхраняват в списък. Пример:
((2, 4), (5, 7), (3, 8), (5, 9)) е по-лесно да се чете, отколкото ((2, 4), (5, 7), (3, 8), ( 5, 9))

Използване на кортежи и списъци

Използваме кортеж, когато знаем каква информация трябва да бъде предоставена и трябва да спасим стойностите от промяна, например когато трябва да съхраняваме идентификационни данни за уебсайт. Кортежите се използват и като ключове за речник, тъй като само неизменни стойности могат да се хешират. Следователно, не можем да използваме списък в такива случаи. Ако все пак искаме да използваме списък като ключ, първо трябва да конвертираме списъка в кортеж.

И от друга страна, можем да използваме списък, когато искаме да променим стойностите, дадени в колекцията, а също и когато не знаем дали размерът на колекцията ни е фиксиран.

Python Tuples vs списъци за сравнение таблица

По-долу е най-горното сравнение между кортежите на Python срещу списъците

Характеристика списъци

кортежи

СинтаксисСписъците се определят с квадратни скоби ().Кортежите се дефинират чрез скоби () или изобщо няма скоби.
Mutable vs ImmutableСписъкът е с различен характер, т.е. може да бъде променен или променен след създаването му.Един кортеж е неизменен по природа, т.е. не може да бъде променян или променен след създаването му.

Налични операцииВградените функции в списъка са повече в сравнение с функциите в tuple, например pop (), insert () и т.н.Tuple има по-малко вградени функции.
Сравнение на размераОперациите със списък са по-големи по размер в сравнение с операциите с кортеж.Операциите с кортеж са с по-малки размери, което го прави по-бърз с много елементи.

дължинаСписъците имат променлива дължина.

Капаците имат фиксирана дължина. Не можем да променим размера на съществуващ кортеж.
двуличиеСписъците могат да бъдат копираниКортежите не могат да бъдат копирани.

заключение

Това е всичко за Python Tuples срещу списъци. Така че сега, когато разбрахме разликите между Python кортежи и списъци, ще ни бъде по-лесно да решим кой от двата трябва да се използва и къде. Следователно можем да заключим, че въпреки че и списъците, и кортежите са важни структури от данни в Python, между тях има значителни различия, като основната разлика е, че списъците са изменяеми, докато кортежите не са.

Препоръчителен член

Това е ръководство за разликата между python Tuple срещу List. Тук също обсъждаме ключовите разлики на Python Tuple vs List с инфографика и таблица за сравнение. Можете също да разгледате следните статии, за да научите повече-

  1. Агил срещу водопад - Топ разлики
  2. Digital Ocean срещу AWS
  3. Изпитване на дим срещу тест за здравина
  4. Как да инсталирате Python
  5. Видове компилатори на Python
  6. Различни операции, свързани с Tuples
  7. Разбиране на списъка на Python
  8. Какво е тест за здравина и как работи?