F# 列表

2024 年 8 月 29 日 | 阅读 3 分钟

列表是相同类型元素的不可变集合。它不允许重复元素。它保持元素的顺序。


F# 创建和初始化列表示例

有多种方法可以创建列表。下面描述了一些方法。


F# 列表示例

输出

1
2
3
4
5
6
7
8
9

F# 向列表添加新元素示例

您可以使用 :: (cons) 运算符将新元素添加到列表中。让我们看一个例子。

输出

1 2 3 4 5
0 1 2 3 4 5

F# 连接两个列表示例

您可以使用 @ 运算符连接具有相同类型的两个列表。让我们看一个例子。

输出

1
2
3
4
5
6
7
8
9
10

F# 列表属性

F# 列表提供了重要的属性。它有助于优化和维护代码。

属性描述
负责人它返回列表的第一个元素。
为空它返回空列表。
IsEmpty如果列表为空,则返回 true
长度它返回元素的数量。
Tail它返回不包括第一个元素的列表。

F# 列表属性示例

输出

Is list Empty: false
Length of list is 5
Head element of list is 1
Tail element of Head in the list is 2
Tail element of tail of head of list 3
Element at 1 index is 2

在 F# 中,列表提供了内置函数来排序和搜索元素。


F# 列表排序示例

输出

0
7
10
12
23
43
54
89
90

F# 列表搜索示例

列表提供 List.find () 函数来查找列表中的元素。它返回第一个匹配的元素,如果未找到该元素,则抛出 System.Collections.Generic.KeyNotFoundException 异常。

输出

10

F# 列表中的 Zip 和 Unzip 函数

Zip 函数将两个单值列表组合成一个元组列表。 Unzip 函数将一个元组列表分成两个单值列表。


F# 列表 Zip 示例

输出

Given Lists:
 List1: [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
 List2: [1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
Result(Zipped List):
 [(1, 1); (2, 2); (3, 3); (4, 4); (5, 5); (6, 6); (7, 7); (8, 8); (9, 9);
 (10, 10)]

F# 列表 Unzip 示例

输出

First List: [1; 3; 5]
Second List: [2; 4; 6]
下一个主题F# 数组