Различия между Python Tuple и списком

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

Разница в том, что кортеж неизменен. Это означает, что его нельзя изменить, изменить или манипулировать им. Кортеж обычно используется именно для этого свойства. Одним из многих применений для кортежей Python является распаковка последовательности, в которой мы сохраняем возвращенные данные в нескольких указанных переменных. Давайте посмотрим на этот пример для кортежа:

def test ()
вернуть 1, 2
a, b = test ()
печать (а, б)

Здесь мы использовали кортеж для возврата значения из функции, и, следовательно, при печати значения мы не можем его изменить.

Кортеж Python может содержать либо скобки, либо круглые скобки, например «()». Именно это помогает Python понять список из кортежа. Список Python определяется квадратными скобками. Его функциональность аналогична работе массива на других языках. Пример:

x = (1, 3, 5, 6, 2, 1, 6) print (x): печатает полный список
print (x (0), x (1)): печать списка, начиная с индекса 0

Часто запутанные из-за их сходства, эти две структуры значительно различаются.

Сравнение лицом к лицу между Python Tuple и List (Инфографика)

Ниже приведено сравнение 6 лучших Python Tuple сравнения со списком

Ключевые различия между Python Tuple и List

Ниже приведены списки точек, описывающих ключевые различия между Python Tuple и List:

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

Списки имеют дополнительную встроенную функцию по сравнению с кортежами. Списки и кортежи имеют общие методы index () и count (), но кроме этих списков есть много функций, которые применяются только специально к спискам, таким как append (), remove (), clear (), sort (), reverse ( ), и т.д.

Мы можем использовать встроенную функцию dir ((объект)), чтобы узнать все функции, связанные со списками и кортежами. Вывод для такой команды будет следующим:

Список объектов:

('__добавлять__',
'__учебный класс__',
'__содержит__',
'__Delattr__',
'__Delitem__',
'__Dir__',
'__Doc__',
'__Eq__',
'__формат__',
'__Ge__',
'__Getattribute__',
'__Getitem__',
'__Gt__',
'__Hash__',
'__я добавить__',
'__Imul__',
'__в этом__',
'__Init_subclass__',
'__Iter__',
'__Le__',
'__Len__',
'__Lt__',
'__Mul__',
'__Ne__',
'__New__',
'__Reduce__',
'__Reduce_ex__',
'__Repr__',
'__Reversed__',
'__Rmul__',
'__Setattr__',
'__Setitem__',
'__размер__',
'__Str__',
'__Subclasshook__',
'Append',
'Чисто',
«Копировать»,
«Рассчитывать»,
«Продлить»,
'показатель',
«Вставить»,
«Поп»,
'удалять',
'задний ход',
'Сортировать')

Объект Tuple:

('__добавлять__',
'__учебный класс__',
'__содержит__',
'__Delattr__',
'__Dir__',
'__Doc__',
'__Eq__',
'__формат__',
'__Ge__',
'__Getattribute__',
'__Getitem__',
'__Getnewargs__',
'__Gt__',
'__Hash__',
'__в этом__',
'__Init_subclass__',
'__Iter__',
'__Le__',
'__Len__',
'__Lt__',
'__Mul__',
'__Ne__',
'__New__',
'__Reduce__',
'__Reduce_ex__',
'__Repr__',
'__Rmul__',
'__Setattr__',
'__размер__',
'__Str__',
'__Subclasshook__',
«Рассчитывать»,
'показатель')

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

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

Операции кортежа имеют меньший размер, чем операции списков. Это ускоряет выполнение операций при наличии огромного количества элементов. Давайте посмотрим пример для расчета размера списка и элементов кортежа.

х = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
у = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
печать ( 'х =', х .__ SizeOf __ ())
печать ( 'у =', у .__ 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 vs Сравнительная таблица списков

Ниже приведено самое лучшее сравнение между кортежами Python и списками.

Характеристики Списки

Кортеж

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

Доступные операцииВстроенные функции в списке больше, чем в кортеже, например pop (), insert () и т. Д.Tuple имеет меньше встроенных функций.
Сравнение размеровОперации со списком имеют больший размер по сравнению с операциями с кортежами.Операции с кортежами меньше по размеру, что ускоряет работу со многими элементами.

длинаСписки имеют переменную длину.

Кортежи имеют фиксированную длину. Мы не можем изменить размер существующего кортежа.
двуличностьСписки могут быть скопированыКортежи не могут быть скопированы.

Вывод

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

Рекомендуемая статья

Это было руководство к Разнице между Tuple и списком Python. Здесь мы также обсудим ключевые отличия Python Tuple от List с инфографикой и таблицей сравнения. Вы также можете посмотреть следующие статьи, чтобы узнать больше

  1. Agile vs Waterfall - главные отличия
  2. Digital Ocean против AWS
  3. Тесты дыма против тестирования здравомыслия
  4. Как установить Python
  5. Типы компиляторов Python
  6. Различные операции, связанные с кортежами
  7. Понимание списка Python
  8. Что такое здравомыслие и как оно работает?