Tuples (кортежи)
Кортежи встречаются не во многих языках. Это своего рода контейнеры, которые могут содержать другие типы. Их часто сравнивают со структурами в C, только поля кортежа не имею имени. Несколько примеров:
{1,2,3}. {a, b,c}. {}. {true, false}. {{1, 2, 3}, {one, two, three}, {"One", "Two", "Three"}}}.
И несколько функций, для работы с кортежами:
1> tuple_size({one, {111, 222}, true, false, 3.1415}). 5 2> element(2, {one, {111, 222}, true, false, 3.1415}). {111,222} 3> setelement(2, {one, {111, 222}, true, false, 3.1415}, result). {one,result,true,false,3.1415} 4> {1, 2, 3} == {1, 2, 3}. true 5> {1, 2, 4} > {1, 2, 3, 5}. false 6> {0,0,0,0} > {1,1,1}. true
Lists (списки)
Насколько я понимаю, разница между списками и кортежами в том как они обрабатываются, но это отдельная тема . Во всем остальном, они схожи, — содержат коллекции значений разных типов, не ограничены в размере и структуре:
1> [1,2,3]. [1,2,3] 2> [a, b,c]. [a,b,c] 3> []. [] 4> [[1, 2, 3], [one, two, three], ["One", "Two", "Three"]]. [[1,2,3],[one,two,three],["One","Two","Three"]] 5> [1, 2] == [1, 2]. true 6> {1, 2, 4} > {1, 2, 3, 5} true 7> [0,0,0,0] > [1,1,1]. false