Функциональное программирование - кортеж
Кортеж - это составной тип данных, содержащий фиксированное количество терминов. Каждый член в кортеже известен какelement. Количество элементов - это размер кортежа.
Программа для определения кортежа на 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}}
Преимущества кортежа
Кортежи предлагают следующие преимущества -
Кортежи имеют размер штрафов, т.е. мы не можем добавлять / удалять элементы в / из кортежа.
Мы можем искать любой элемент в кортеже.
Кортежи быстрее списков, потому что они имеют постоянный набор значений.
Кортежи можно использовать в качестве ключей словаря, поскольку они содержат неизменяемые значения, такие как строки, числа и т. Д.
Кортежи против списков
Кортеж | Список |
---|---|
Кортежи immutable, т.е. мы не можем обновить его данные. | Список mutable, т.е. мы можем обновить его данные. |
Элементы в кортеже могут быть разного типа. | Все элементы в списке одного типа. |
Кортежи обозначаются круглыми скобками вокруг элементов. | Списки заключаются в квадратные скобки вокруг элементов. |
Операции с кортежами
В этом разделе мы обсудим несколько операций, которые могут быть выполнены с кортежем.
Проверьте, является ли вставленное значение кортежем или нет
Метод is_tuple(tuplevalues)используется, чтобы определить, является ли вставленное значение кортежем. Он возвращаетсяtrue когда вставленное значение является кортежем, иначе оно возвращает false. Например,
-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