Функциональное программирование - кортеж

Кортеж - это составной тип данных, имеющий фиксированное количество терминов. Каждый термин в кортеже известен как элемент . Количество элементов - это размер кортежа.

Программа для определения кортежа в C #

Следующая программа показывает, как определить кортеж из четырех терминов и распечатать их с помощью C #, который является объектно-ориентированным языком программирования.

using System; 
public class Test { 
   public static void Main() { 
      var t1 = Tuple.Create(1, 2, 3, new Tuple<int, int>(4, 5));   
      Console.WriteLine("Tuple:" + t1);    
   } 
} 

Это даст следующий результат -

Tuple :(1, 2, 3, (4, 5)) 

Программа для определения кортежа в Erlang

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

-module(helloworld).  
-export([start/0]).   

start() -> 
   P = {1,2,3,{4,5}} ,  
   io:fwrite("~w",[P]). 

Это даст следующий результат -

{1, 2, 3, {4, 5}} 

Преимущества Tuple

Кортежи предлагают следующие преимущества -

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

  • Мы можем искать любой элемент в кортеже.

  • Кортежи работают быстрее, чем списки, потому что они имеют постоянный набор значений.

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

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

Кортеж Список
Кортежи неизменны , т. Е. Мы не можем обновлять их данные. Список изменчив , то есть мы можем обновить его данные.
Элементы в кортеже могут быть разного типа. Все элементы в списке одного типа.
Кортежи обозначены круглыми скобками вокруг элементов. Списки обозначены квадратными скобками вокруг элементов.

Операции над кортежами

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

Проверьте, является ли вставленное значение кортежем или нет

Метод is_tuple (tuplevalues) используется для определения, является ли вставленное значение кортежем или нет. Он возвращает истину, когда вставленное значение является кортежем, иначе он возвращает ложь . Например,

-module(helloworld).  
-export([start/0]).  

start() ->  
   K = {abc,50,pqr,60,{xyz,75}} , io:fwrite("~w",[is_tuple(K)]). 

Это даст следующий результат -

True

Преобразование списка в кортеж

Метод list_to_tuple (listvalues) преобразует список в кортеж. Например,

-module(helloworld).  
-export([start/0]).  

start() ->  
   io:fwrite("~w",[list_to_tuple([1,2,3,4,5])]). 

Это даст следующий результат -

{1, 2, 3, 4, 5} 

Преобразование кортежа в список

Метод tuple_to_list (tuplevalues) преобразует указанный кортеж в формат списка. Например,

-module(helloworld).  
-export([start/0]).  

start() ->  
   io:fwrite("~w",[tuple_to_list({1,2,3,4,5})]). 

Это даст следующий результат -

[1, 2, 3, 4, 5] 

Проверьте размер кортежа

Метод tuple_size (tuplename) возвращает размер кортежа. Например,

-module(helloworld).  
-export([start/0]).  

start() ->  
   K = {abc,50,pqr,60,{xyz,75}} ,  
   io:fwrite("~w",[tuple_size(K)]). 

Это даст следующий результат -

5