
函數語言程式設計 - 元組
元組是一種複合資料型別,具有固定數量的項。元組中的每一項都稱為一個元素。元素的數量就是元組的大小。
在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}}
元組的優點
元組具有以下優點:
元組是固定大小的,也就是說,我們不能向元組新增或刪除元素。
我們可以搜尋元組中的任何元素。
元組比列表快,因為它們具有固定的值集。
元組可以用作字典鍵,因為它們包含不可變的值,例如字串、數字等。
元組與列表的比較
元組 | 列表 |
---|---|
元組是不可變的,也就是說,我們不能更新其資料。 | 列表是可變的,也就是說,我們可以更新其資料。 |
元組中的元素可以是不同型別。 | 列表中的所有元素都是同一型別。 |
元組由圍繞元素的圓括號表示。 | 列表由圍繞元素的方括號表示。 |
元組的操作
在本節中,我們將討論一些可以對元組執行的操作。
檢查插入的值是否為元組
方法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
廣告