Питхон листа против коријена (са примерима)

У овом чланку научићемо кључне разлике између Листе и Туплеса и како користити ове две структуре података.

Листе и комплети чувају један или више објеката или вредности у одређеном редоследу. Објекти ускладиштени на листи или набору могу бити било које врсте, укључујући и тип ништа дефинисан кључном речи Ноне.

Листе и корице су сличне у већини контекста, али постоје неке разлике које ћемо наћи у овом чланку.

Синтаксне разлике

Синтакса листе и корпице се мало разликује. Листе су окружене угластим заградама, ()а Тупле су заградама ().

Пример 1.1: Креирање листе насупрот стварању туплеа

 list_num = (1,2,3,4) tup_num = (1,2,3,4) print(list_num) print(tup_num)

Излаз:

 (1,2,3,4) (1,2,3,4)

Изнад смо дефинисали променљиву названу лист_нум која садржи листу бројева од 1до 4. Листа је окружена заградама (). Такође, дефинисали смо променљиву туп_нум; који садржи гомилу бројева од 1до 4. Корпа је окружена заградама ().

У питхону имамо type()функцију која даје тип створеног објекта.

Пример 1.2: Пронађите тип структуре података помоћу функције типе ()

 type(list_num) type(tup_num)

Излаз:

 лист тупле

Променљива листа вс Непроменљиве корпе

Списак има променљиву природу, тј. Списак се може мењати или модификовати након стварања у складу са потребама, док тупле има непроменљиву природу, тј.

Пример 2.1: Изменити листу ставки у односу на Тупле

 list_num(2) = 5 print(list_num) tup_num(2) = 5

Излаз:

 (1,2,5,4) Трацебацк (последњи последњи позив): Датотека „питхон“, ред 6, у ТипеЕррор: „тупле“ објекат не подржава додељивање ставки

У горњем коду смо доделили 5лист_нум на индексу 2и пронашли смо 5на индексу 2у излазу. Такође, доделили 5смо туп_нум на индексу 2и добили смо type error. Не можемо модификовати тупле због његове непроменљиве природе.

Напомена: Како је корпица непроменљива, оне су фиксне величине, а листе су променљиве величине.

Доступне операције

Листе имају уграђену функцију више од функције тупле. Можемо да користимо dir((object))уграђену функцију да бисмо добили све повезане функције за листу и тупле.

Пример 3.1: Директоријум листе

 dir(list_num)

Излаз:

('__адд__', '__цласс__', '__цонтаинс__', '__делаттр__', '__делитем__', '__дир__', '__доц__', '__ек__', '__формат__', '__ге__', '__гетаттрибуте__', '__гет __гт__ ',' __хасх__ ',' __иадд__ ',' __имул__ ',' __инит__ ',' __инит_субцласс__ ',' __итер__ ',' __ле__ ',' __лен__ ',' __лт__ ',' __мул__ ',' __не__ ',' , '__редуце__', '__редуце_ек__', '__репр__', '__реверсед__', '__рмул__', '__сетаттр__', '__сетитем__', '__сизеоф__', '__стр__', '__субцлассхоок__', 'аппенд', 'додај,' цопи ',' цоунт ',' ектенсион ',' индек ','инсерт ',' поп ',' ремове ',' реверсе ',' сорт ')

Пример 3.2: Каталог тупле

 dir(tup_num)

Излаз:

 ('__адд__', '__цласс__', '__цонтаинс__', '__делаттр__', '__дир__', '__доц__', '__ек__', '__формат__', '__ге__', '__гетаттрибуте__', '__гетитем__', '__гет', __гет ',__ __гт__ ',' __хасх__ ',' __инит__ ',' __инит_субцласс__ ',' __итер__ ',' __ле__ ',' __лен__ ',' __лт__ ',' __мул__ ',' __не__ ',' __нев__ ',' __редуце__ ',' __редуце__ ',__ , '__репр__', '__рмул__', '__сетаттр__', '__сизеоф__', '__стр__', '__субцлассхоок__', 'цоунт', 'индек')

Јасно можемо да видимо да постоји толико много додатних функција повезаних са листом преко корпице. Можемо да радимо уметање и искакање, уклањање и сортирање елемената са листе са уграђеним функцијама која није доступна у Туплеу.

Поређење величина

Операција Туплес има мању величину од оне листе, што је чини мало бржом, али не толико за напомињати док не добијете огроман број елемената.

Пример 5.1: Израчунајте величину списка у односу на тупле

 a= (1,2,3,4,5,6,7,8,9,0) b= (1,2,3,4,5,6,7,8,9,0) print('a=',a.__sizeof__()) print('b=',b.__sizeof__())

Излаз:

 а = 104 б = 120

У горњем коду имамо корпу а и листу б са истим ставкама, али величина корпе је мања од листе.

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

На први поглед може се чинити да листе увек могу заменити корпе. Али корпе су изузетно корисне структуре података

  1. Употреба набора уместо листе програмеру и тумачу може наговестити да податке не треба мењати.
  2. Тупле се обично користе као еквивалент речника без кључева за чување података. На пример,
     ((„Риба сабљарка“, „Доминиц Сена“, 2001.), („Сновден“, „Оливер Стоне“, 2016.), („Таксиста“, „Мартин Сцорсесе“, 1976.))
    Горњи пример садржи корпе унутар листе која садржи листу филмова.
  3. Читање података је једноставније када се корпе чувају унутар листе. На пример,
     ((2,4), (5,7), (3,8), (5,9))
    је лакши за читање него
     ((2,4), (5,7), (3,8), (5,9))

Тупле се такође може користити као кључ у речнику због њихове хасхабле и непроменљиве природе, док се Листе не користе као кључ у речнику јер се листа не може носити __hash__()и има променљиву природу.

 key_val= (('alpha','bravo'):123) #Valid key_val = (('alpha','bravo'):123) #Invalid 

Кључне тачке које треба запамтити:

  1. Синтакса литера тупле приказана је у заградама, ()док је синтакса списа приказана у угластим заградама ().
  2. Листе имају променљиву дужину, корпе имају фиксну дужину.
  3. Листа има променљиву природу, тупле има непроменљиву природу.
  4. Листа има више функционалности од корпице.

Занимљиви Чланци...