Відмінності між Python Tuple і списком

Python Tuple vs List - це найбільш часто використовувані структури даних в Python. Вони зберігають колекцію предметів, або об'єктів, або значень у визначеній послідовності. Вони можуть зберігати елементи будь-якого типу даних, і до них можна отримати доступ за допомогою свого індексу. Це схожість у списках та кортежах, але яка різниця?

Різниця полягає в тому, що кортеж незмінний. Це означає, що його не можна змінювати, змінювати чи маніпулювати. Для цього властивості зазвичай використовується кортеж. Одне з багатьох застосувань для кортежів Python - це розпакування послідовностей, де ми зберігаємо повернуті дані до кількох вказаних змінних. Давайте розглянемо цей приклад для кортежу:

тест def ()
повернути 1, 2
a, b = тест ()
друк (a, b)

Тут ми використали кортеж, щоб повернути значення з функції, і, отже, друкуючи значення, ми не можемо його змінити.

Кортеж Python може або не мати навколо нього дужок або дужок, як "()". Це допомагає Python зрозуміти список з кортежу. Список Python визначається квадратними дужками. Його функціональність схожа на те, як працює масив іншими мовами. Приклад:

x = (1, 3, 5, 6, 2, 1, 6) print (x): друкує повний список
print (x (0), x (1)): друкує список, починаючи з індексу 0

Ці дві структури часто плутаються через їх схожість.

Порівняння між списками Python Tuple та списком (Інфографіка)

Нижче наведено топ-6 порівняльних кортежів Python vs List

Основні відмінності між Python Tuple і списком

Нижче наведено списки пунктів, опишіть ключові відмінності між Python Tuple та List:

Функціональність операцій

Списки мають додаткову вбудовану функцію порівняно з кортежами. Списки та кортежі мають спільні методи index () та count (), окрім них списки мають багато функцій, які застосовуються лише до списків, таких як append (), delete (), 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__',
'__перерваний__',
'__rmul__',
'__setattr__',
'__setitem__',
'__sizeof__',
'__str__',
'__subclasshook__',
'додати',
'ясний',
"копія",
'рахувати',
"продовжити",
'індекс',
'вставити',
'поп',
"видалити",
'зворотний',
'сортувати')

Об'єкт кортежу:

('__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__',
'__sizeof__',
'__str__',
'__subclasshook__',
'рахувати',
'індекс')

Ми можемо бачити, що є додаткові функції, пов'язані зі списком, ніж для кортежу.

Оцінка розміру

Операції кортежу мають менший розмір, ніж операції зі списком. Це робить операції швидшими, коли існує величезна кількість елементів. Подивимось приклад для обчислення розміру списку та елементів кортежу.

х = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
у = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
print ('x =', x .__ sizeof __ ())
print ('y =', y .__ sizeof __ ())

Вихід:

х = 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 та списки порівняльної таблиці

Нижче наведено найвище порівняння кортежів Python та списків

Особливості Списки

Кортежі

СинтаксисСписки визначаються квадратними дужками ().Кортежі визначаються круглими дужками () або зовсім відсутні дужки.
Зміна проти зміннихСписок має змінний характер, тобто він може бути змінений або змінений після його створення.Кортеж незмінний за своєю природою, тобто його неможливо змінити чи змінити після його створення.

Доступні операціїВбудовані функції у списку більше порівняно з функціями в кортежі, наприклад, pop (), insert () тощо.Tuple має менше вбудованих функцій.
Порівняння розмірівОперації зі списком мають більший розмір порівняно з операціями кортежу.Операції з кортежем мають менші розміри, що робить його швидшим за допомогою багатьох елементів.

ДовжинаСписки мають різну довжину.

Кортежі мають фіксовану довжину. Ми не можемо змінити розмір існуючого кортежу.
ПодвійністьСписки можна скопіюватиНеможливо скопіювати кортежі.

Висновок

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

Рекомендована стаття

Це було керівництвом щодо різниці між python Tuple та List. Тут ми також обговорюємо ключові відмінності python Tuple vs List з інфографікою та таблицею порівняння. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Agile - Водоспад - Найкращі відмінності
  2. Цифровий океан проти AWS
  3. Тестування диму проти тестування розуму
  4. Як встановити Python
  5. Типи компіляторів Python
  6. Різні операції, пов'язані з кортежами
  7. Розуміння списку Python
  8. Що таке тест на розум і як це працює?