Всичко за кортежите: какво представляват, как работят и как да ги използвате

  • Кортежите са неизменни и подредени, което ги прави идеални за данни, които не трябва да се променят.
  • Те могат да се използват в програмирането и базите данни за групиране на разнородни данни.
  • В Python те могат лесно да бъдат създадени и позволяват операции като достъп чрез индекси.
  • Преобразуването между списъци и кортежи е лесно и осигурява по-голяма гъвкавост при програмиране.

кортеж

Когато говорим за структури от данни, концепцията за кортеж. Този термин, широко използван в математиката, програмирането и базите данни, е ключов за разбирането как съвременните езици управляват групи от информация. В тази статия ще открием в дълбочина какво е кортеж, неговите характеристики и как се използват в различни езици за програмиране като Python, Visual Basic и дори в релационни бази данни.

Кортежът по същество е a подредена последователност от стойности. Въпреки това, за разлика от други видове колекции като списъци, той има особеност, която го прави доста полезен в определени сценарии: неговата неизменност. Това означава, че веднъж създадени, елементите, които съставляват кортежа, не могат да бъдат променяни. Тази функция е особено ефективна, когато искаме да гарантираме, че данните няма да се променят случайно или умишлено. Но преди да се задълбочим в неговите употреби и характеристики, е полезно да разберем неговия произход и причината за неговата терминология.

Произход и обобщение на кортежи

Терминът кортеж произлиза от математическо обобщение на термини като напр двойно (два елемента), троен (три елемента) и т.н. От там се установи, че последователност от n елементи (n е цяло число) се нарича a n-кортеж, като начин за групиране на фигури или данни. Това име беше разширено до използването му в програмирането и математиката, тъй като кортежите позволяват работа с краен брой елементи, поддържайки техните ред и структура.

В математиката, кортежи Те могат да се разглеждат и като разработка на подредени двойки, където набор от входове може да бъде дефиниран чрез различни слоеве на групиране. По този начин а n-кортеж с повече от два елемента той може да бъде представен като подредена двойка от първия си запис и подкортеж, съдържащ останалите записи. Тази идея за организация е пренесена в света на програмирането, където кортежи Те са изключително мощен и гъвкав инструмент.

Основни характеристики на кортежи

на кортежи Те се определят от поредица от характеристики, които ги правят уникални в сравнение с други структури от данни:

  • Неизменност: Веднъж създадени, не е възможно да се променят елементите на кортеж. Това означава, че не можем да присвоим отново стойност на конкретна позиция в кортежа. Например, ако кортежът съдържа стойността 3 в първия си елемент, той ще продължи да държи тази стойност през целия си живот.
  • ред: Елементите в кортежа се съхраняват в определен ред. За разлика от много други колекции, като набори, редът, в който се въвеждат елементите, не е произволен. Редът е важен и ще се спазва винаги, когато взаимодействаме с кортежа.
  • Различни видове: За разлика от други типове данни като масиви, кортежите могат да съдържат елементи от различни типове. Напълно приемливо е кортежът да включва както цели числа, низове, така и булеви стойности.
  • Достъп чрез индекси: Подобно на списъците, кортежите позволяват достъп до техните индивидуални елементи чрез индекси. Тези индекси обикновено започват от числото 0. Освен това, тъй като кортежите са сравними, е възможно да се проверят връзките между тях въз основа на стойността на техните елементи.

Тези характеристики правят кортежи Те са идеални за ситуации, в които трябва да групираме разнородни данни и да гарантираме, че те няма да се променят случайно по време на изпълнение на програма. Например кортежът би бил подходящият избор за съхраняване на координати (x, y) в равнина, тъй като тези стойности не трябва да се променят, след като бъдат дефинирани.

Използване на кортежи в езиците за програмиране

Кортежи в Python

В Python, кортежи Те са много гъвкава и широко използвана структура от данни. Те се определят с помощта на скоби () и разделяне на елементите със запетаи. Особеност на кортежите в Python е, че в допълнение към тяхната неизменност те могат да съдържат елементи от различни типове:

>>> t = (1, 'dos', 3)

В този пример имаме a кортеж с три елемента: цяло число, текстов низ и друго цяло число. Ако се опитаме да променим един от елементите му, като например пренасочване на стойността на първото число, Python ще върне грешка:

>>> t[0] = 'uno'Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment

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

Операции с кортежи в Python

Някои от операциите, които можем да извършим с кортежи в Python, са подобни на тези, които можем да направим със списъци:

  • Достъп чрез индекси: Можем да имаме достъп до елементите на кортеж, като използваме съответния му индекс. Както вече споменахме, индекси в Python започват от 0.
  • Нарязване или нарязване: Възможно е да се извлекат части от кортеж с помощта на метода парче. Например, можем да получим подкортеж с елементите на позиции 1 и 2 на кортежа, който създадохме по-рано:
>>> t[1:3]

Резултатът ще бъде нов кортеж с елементите:

("две", 3)

Манипулиране на кортежи: Въпреки че кортежите са неизменни и не можем да променим елементите им директно, възможно е да преназначим кортежа към нова променлива или да комбинираме няколко кортежа, за да създадем нов. Например, можем да добавим два кортежа с помощта на оператора +:

>>> t = (1, 2) + (3, 4)>>> t(1, 2, 3, 4)

Кортежи в релационни бази данни

В областта на базите данни, a кортеж е ред в таблица на релационна база данни. Всяка колона в таблицата съдържа стойност, свързана с кортежа.

Например в таблица с играчи на видеоигри всеки ред може да представлява кортеж със следната структура:

(Jugador: 'Luis', Puntuación: 25)

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

Разширени примери за кортежи

В някои езици за програмиране, като напр Visual Basic, кортежите могат лесно да бъдат създадени с помощта на скоби и набор от стойности, разделени със запетая. Освен това Visual Basic позволява използването на именувани кортежи, които ни дават гъвкавостта да присвояваме имена на всеки елемент в кортеж.

Например, a кортеж от два елемента може да бъде булева стойност и текстов низ:

Dim holiday = (#07/04/2017#, "Independence Day", True)

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

Кортежи и тяхната ефективност

Друг аспект, който трябва да имате предвид, е, че кортежите, тъй като са неизменни, са относително по-ефективни по отношение на времето и паметта от списъците. Това е така, защото, тъй като е непроменен, езикът за програмиране не трябва да управлява вътрешната си структура по същия начин, както при променлив списък. Ето защо кортежите са за предпочитане, когато се изисква по-голяма ефективност или когато данните няма да бъдат модифицирани.

Преобразуване между списъци и кортежи

И накрая, в много езици за програмиране е възможно да преобразувате списък в a кортеж и обратно. В Python това може да се направи лесно с помощта на предварително дефинирани функции кортеж () y списък ().

>>> l = [1, 2, 3]>>> t = tuple(l)>>> t(1, 2, 3)

По подобен начин можем да конвертираме кортеж в списък:

>>> t = (1, 2, 3)>>> l = list(t)>>> l[1, 2, 3]

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

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


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.