Каковы преимущества кортежей с точки зрения их использования в программах

В этом руководстве мы узнаем о важном различии между списком и кортежами и о том, как оба они играют важную роль в Python.

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

Давайте обсудим основные отличия списка и кортежа в Python.

№ Список Кортеж
1 Синтаксис списка с помощью []. Синтаксис кортежа с помощью ().
2 Изменяемый Неизменен
3 Имеет переменную длину. Имеет фиксированную длину.
4 Предоставляет больше возможностей, чем кортеж. Обеспечивает меньшую функциональность, чем список.
5 Список используется в сценарии, в котором нам нужно хранить простые коллекции без ограничений, где значение элементов может быть изменено. Кортеж используется в тех случаях, когда нам нужно хранить коллекции только для чтения, т.е. значение элементов не может быть изменено. Его можно использовать в качестве ключа внутри словаря.
6 Менее эффективны для памяти, чем кортеж. Более эффективны в памяти из-за своей неизменности.

Список и кортеж

Различия в представлении

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

Рассмотрим следующий пример:

list1 = [‘JavaTpoint’, 1, 2, 54.30, ] print(type(list)) tuple1 =(‘JavaTpoint’,5,8,31.9,[1,2,3]) print(type(tuple1))

В приведенной выше программе мы определили переменную list1, которая содержит список различных типов данных от индекса 0 до 4. Мы определили другую переменную tuple1, которая содержит кортеж с разными типами данных. Он заключен в().

Читайте также:
Изменить размер раздела программа

Изменяемые списки и неизменяемые кортежи

Это наиболее важное различие между списком и кортежем, в то время как списки изменяемы, а кортежи неизменны. Списки изменяемы, что означает, что объект Python может быть изменен после создания, тогда как кортежи не могут быть изменены после создания. Рассмотрим данный пример:

a = [«Peter»,»Joseph»,»Mathew»,»Ricky»] print(a)
[‘Peter’, ‘Joseph’, ‘Mathew’, ‘Ricky’]

Теперь мы меняем 0-й элемент индекса «Peter» на «Samson».

a[0] = «Samson» print(a)
[‘Samson’, ‘Joseph’, ‘Mathew’, ‘Ricky’]

Теперь мы создаем кортеж и делаем то же самое.

a =(10,20,»JavaTpoint»,30,40) print(a)
(10, 20, ‘JavaTpoint’, 30, 40)
a[0] = 50
TypeError Traceback (most recent call last) in —-> 1 a[0] = 50 TypeError: ‘tuple’ object does not support item assignment

Списки (List) vs Кортежи (Typle)

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

34 Кортежи (tuple) в Python. Операции и методы кортежей

Различия в представлении

Представление списков и кортежей отличается незначительно. Списки обычно заключаются в квадратную скобку ё [] , а элементы — через запятую. Кортежи заключаются в круглую скобку () , а элементы разделяются запятой. Скобки использовать необязательно, и такие типы кортежей называются упаковкой кортежей.

Рассмотрим следующий пример.

list1 = [‘JavaTpoint’, 1, 2, 54.30, ] print(type(list)) tuple1 = (‘JavaTpoint’,5,8,31.9,[1,2,3]) print(type(tuple1))

В приведенной выше программе мы определили переменную list1 , которая содержит список данных разного типа с индексом от 0 до 4 . Мы определили еще одну переменную tuple1 , которая содержит кортеж данных разного типа. Она заключена в рамку () .

Изменяемые списки и неизменяемые кортежи в Python

Это самое важное различие между списком и кортежем, в то время как списки являются изменяемыми, а кортежи — неизменяемыми. Списки являются изменяемыми, что означает, что объект Python может быть изменен после создания, в то время как кортежи не могут быть изменены после создания. Рассмотрим приведенный пример.

Читайте также:
Какая программа лучшая для торрента

a = [«Peter»,»Joseph»,»Mathew»,»Ricky»] print(a)
[‘Peter’, ‘Joseph’, ‘Mathew’, ‘Ricky’]

Теперь мы меняем 0-й элемент индекса «Peter» на «Samson».

a[0] = «Samson» print(a)
[‘Samson’, ‘Joseph’, ‘Mathew’, ‘Ricky’]

Теперь мы создаем кортеж и делаем то же самое.

a = (10,20,»JavaTpoint»,30,40) print(a)
(10, 20, ‘JavaTpoint’, 30, 40)
a[0] = 50
TypeError Traceback (most recent call last) in —-> 1 a[0] = 50 TypeError: ‘tuple’ object does not support item assignment

Плюсы и минусы разных форматов данных: пары «ключ-значение» и кортежи

Работа над Vasern (клиентская база данных для React Native) дала мне возможность попробовать и протестировать различные форматы данных, которые включают ключ-значение, столбцы, документы и кортежи. Каждый формат был разработан для разных сценариев.

Критерии этих тестов сосредоточены на производительности, возможности поиска значений и эффективности использования пространства. Кроме того, необязательно иметь на диске отсортированные ключи и индексы. Они будут загружены в память для быстрого поиска.

В этом посте я резюмирую плюсы и минусы двух распространенных форматов: пары «ключ-значение» и формат кортежей. Кроме того, я расскажу о тегированных ключах- values ​​, расширение пар «ключ-значение» с поиском по индексу, в котором используется формат кортежей.

Хранилище ключей и значений

Пары «ключ-значение» хранят набор пар «ключ-значение», где иногда значение представляет несколько значений, разделенных разделителями (например, запятыми). Эти пары организованы в блоки фиксированной длины (для быстрого перехода между записями).

Преимущества хранилища пар «ключ-значение»:

  • Простой формат данных ускоряет операции записи и чтения
  • Значение может быть любым, включая JSON, гибкие схемы

Недостатки:

  • Оптимизирован только для данных с одним ключом и значением. Парсер необходим для хранения нескольких значений.
  • Не оптимизирован для поиска. Поиск требует сканирования всей коллекции или создания отдельных значений индекса

Хранилище данных кортежей (СУБД)

Формат данных кортежей существует уже много десятилетий. Он используется в реляционных базах данных, таких как MySQL, Postgres и т. Д.

В отличие от формата «ключ-значение», он использует предопределенную схему для организации записей в строки, а ее значения — в столбцы фиксированной длины. Каждое значение обычно представляет собой только одну часть информации.

Преимущества хранилища данных кортежей:

  • Структурированный формат данных помогает быстро просматривать значения записей
  • Оптимизирован для поиска (обычное использование SQL для запросов к записям)
Читайте также:
Pickmeapp как пользоваться программой

Недостатки:

  • Ограничено структурой схемы
  • Изменение схемы обычно требует перезаписи всей базы данных

Tagged Key-Value Store (Хранилище ключей и значений с тегами)

Tagged Key-Value — это расширенная версия хранилища Key-Value — у него более одного ключа для одного значения. Другими словами, у него есть ключ, индексы (или теги) и значение тела для каждой записи. Где:

  • Ключ и индексы будут загружены в память при запуске.
  • Значение тела может быть любым: от простой строки, BSON / JSON или значения, разделенного запятыми.

Преимущества хранилища ключей и значений с тегами:

  • Полуструктурированный, что помогает быстро просматривать записи и индексы.
  • Оптимизирован для поиска (по ключам и индексам)
  • Тело записи может быть любым, идеально подходит для гибких схем.
  • Эффективность использования пространства (ключ, показатели сгруппированы в плотные столбцы)

Недостатки:

  • Для изменения схемы, включающей индексы, может потребоваться перенос данных.

Vasern с помеченным хранилищем ключей и значений

Vasern — это клиентская база данных для React Native. Последняя версия была выпущена в рамках бета-тестирования для тестирования и использовала хранилище «ключ-значение».

В грядущей версии 0.3.0-RC Васерн переходит на разметку хранилища ключей и значений с тегами. Основное внимание уделяется его мощной функции поиска и экономии места.

Ниже представлен демонстрационный запрос. Красиво, правда?

Существует множество баз данных с различными форматами данных, которые можно выбрать для приложения. Два распространенных формата:

  • Пары «ключ-значение» — быстрое чтение и запись, но не оптимизированы для поиска. Его часто используют как простое хранилище данных, NoSQL.
  • Кортежи — поддерживают значения с несколькими типами, индексы, оптимизированные для поиска, но отсутствие гибкости схемы. Обычно используется для реляционных баз данных.

Комбинируя упомянутые выше сильные стороны, формат Tagged-Key-Values ​​ гибок со схемой данных и может искать записи с помощью ключей и индексов. Часто это лучше подходит для клиентской базы данных.

Если вы нашли эту статью полезной, нажмите кнопку несколько раз, чтобы другие нашли ее и выразили свою поддержку!

Спасибо за чтение!

Источник: skine.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru