Урок 11. Кортежи
Главная / Уроки / Страница блока Основы / Урок 11. Кортежи
14 Января 2023
Tuples
Кортежи своего рода тоже коллекции, но в отличии от массивов, множеств и словарей, они могут содержать разные типы данных. Такие объекты называются Tuples, что в переводе означает Кортежи.
То есть у каждого значения в составе кортежей может быть свой тип данных, который не зависит от других.
Давайте сперва посмотрим на его синтаксис:
(oneElement, towElement, …)
В круглых скобках мы определяем необходимые нам элементы, при этом они могут иметь разные типы данных.
Создадим для примера два кортежа:
let hotel = (4, "family")
let pet = ("Cat", 6, true)
Мы с вами создали два кортежа, первый отвечает за некоторые данные по отелю, а второй по питомцу.
Каждый из этих кортежей группирует значения разных типов. Давайте посмотрим на типы данных наших свойств:
Так выглядит тип кортежа.
Доступ к элементам кортежа
Давайте запустим компилятор и посмотрим на окно справа:
Обратите внимания на цифры перед значениями в правом окне, это индексы ваших значений, то есть к элементам можно обратится по их индексам:
Ну и если мы видим элемент справа, то это значение мы можем присвоить какому-либо свойству:
let rating = hotel.0
let type = hotel.1
Свойство rating будет типа Int, а type типа String
Эти свойство можно теперь использовать в логике.
Элементы кортежа можно именовать:
let hotel = (rating: 4, type: "family")
let pet = (type: "Cat", age: 6, isfluffy: true)
Таким образом мы можем обращаться к элементам и по их индексам и по их параметрам:
Вы можете именовать только некоторые элементы кортежа, не обязательно задавать имена всем. Но если уж начали именовать, то лучше идти до конца.

На самом деле мы с вами уже сталкивались с кортежем.
Давайте создадим числовое множество и добавим в него новый элемент:
метод insert нам возвращает кортеж, и элементы кортежа мы можем присвоить новым свойствам:
let (inserted, memberAfterInsert)
Мы объявили две константы и поместила их в скобки, с наружи написали let, и теперь нам нужно присвоить значение для каждой из этих констант:
var numbers: Set = [5, 4, 9, 33, 58]
let (inserted, memberAfterInsert) = numbers.insert(8)
Количество свойств в скобках не должно превышать количества элементов самого кортежа.

Теперь свойство inserted будет содержать в себе логическое значение, а memberAfterInsert то значение, которое мы добавили в множество.
Давайте посмотрим на эти значения:
Эти свойства можно отдельно друг от друга использовать в логике.
Если из кортежа вы хотите достать только одно свойство, то ненужное вам замените на нижнее подчеркивание:
Но можно извлекать из кортежа данные первым способом описанном выше:
мы создаем свойство, и присваиваем ему кортеж, а уже к значениям в кортежа обращаемся через параметры, либо через индексы:
var numbers: Set = [5, 4, 9, 33, 58]
let newElement = numbers.insert(8)
newElement.memberAfterInsert
newElement.inserted
//либо через индексы
newElement.0
newElement.1
Давайте подведем итог.
Кортеж – это группировка нескольких значений в одно составное.
Элементы в кортеже проиндексированы. Можно именовать значения, и использовать их вместо индексов.

Поддержите наш проект, и помогите изменить подход к обучению!


Развивайся вместе с нами
Поддержите наш проект, и помогите изменить подход к обучению!

Address List
Social Networks
Поддержите наш проект, и помогите изменить подход к обучению!

Social Networks