首页 > 其他分享 >无涯教程-F# - 映射(Maps)

无涯教程-F# - 映射(Maps)

时间:2023-11-28 21:32:08浏览次数:68  
标签:Map 映射 students 无涯 Maps Add Zara printfn empty

在F#中,字典(Maps)是一种特殊的集合,将值(value)与键(key)相关联。

创建字典

通过使用Map.empty创建空Map并使用添加功能添加项目来创建Map。以下示例演示了这一点-

(* Create an empty Map *)
let students =
   Map.empty. (* Creating an empty Map *)
      Add("Zara Ali", "1501").
      Add("Rishita Gupta", "1502").
      Add("Robin Sahoo", "1503").
      Add("Gillian Megan", "1504");;
printfn "Map - students: %A" students

(* Convert a list to Map *)
let capitals =
   [ "Argentina", "Buenos Aires";
      "France ", "Paris";
      "Chili", "Santiago";
      "Malaysia", " Kuala Lumpur";
      "Switzerland", "Bern" ]
   |> Map.ofList;;
printfn "Map capitals : %A" capitals

编译并执行程序时,将产生以下输出-

Map - students: map
[("Gillian Megan", "1504"); ("Rishita Gupta", "1502"); ("Robin Sahoo", "1503
");
("Zara Ali", "1501")]
Map capitals : map
[("Argentina", "Buenos Aires"); ("Chili", "Santiago"); ("France ", "Paris");
("Malaysia", " Kuala Lumpur"); ("Switzerland", "Bern")]

您可以使用键访问Map中的各个元素。

(* Create an empty Map *)
let students =
   Map.empty. (* Creating an empty Map *)
      Add("Zara Ali", "1501").
      Add("Rishita Gupta", "1502").
      Add("Robin Sahoo", "1503").
      Add("Gillian Megan", "1504");;
printfn "Map - students: %A" students

(*Accessing an element using key *)
printfn "%A" students.["Zara Ali"]

编译并执行程序时,将产生以下输出-

Map - students: map
[("Gillian Megan", "1504"); ("Rishita Gupta", "1502"); ("Robin Sahoo", "1503
");
("Zara Ali", "1501")]
"1501"

基本操作

下表显示了Map上的基本操作-

方法 说明
Add 返回新Map,并将绑定添加到给定Map。
ContainsKey 测试元素是否在Map的域中。
Count Map中的绑定数。
IsEmpty 如果Map中没有绑定,则返回true。
Item 在Map中查找元素。如果Map中没有绑定,则引发KeyNotFoundException。
Remove 从Map的域中删除一个元素。如果元素不存在,则不会引发异常。
TryFind 在Map中查找元素,如果元素在Map的域中,则返回 Some 值,否则返回 None 。

以下示例演示了上述某些功能的用法-

(* Create an empty Map *)
let students =
   Map.empty. (* Creating an empty Map *)
      Add("Zara Ali", "1501").
      Add("Rishita Gupta", "1502").
      Add("Robin Sahoo", "1503").
      Add("Gillian Megan", "1504").
      Add("Shraddha Dubey", "1505").
      Add("Novonil Sarker", "1506").
      Add("Joan Paul", "1507");;
printfn "Map - students: %A" students
printfn "Map - number of students: %d" students.Count

(* finding the registration number of a student*)
let found = students.TryFind "Rishita Gupta"
match found with
| Some x -> printfn "Found %s." x
| None -> printfn "Did not find the specified value."

编译并执行程序时,将产生以下输出-

Map - students: map
[("Gillian Megan", "1504"); ("Joan Paul", "1507"); ("Novonil Sarker", "1506"
);
("Rishita Gupta", "1502"); ("Robin Sahoo", "1503");
("Shraddha Dubey", "1505"); ("Zara Ali", "1501")]
Map - number of students: 7
Found 1502.

参考链接

https://www.learnfk.com/fsharp/fsharp-maps.html

标签:Map,映射,students,无涯,Maps,Add,Zara,printfn,empty
From: https://blog.51cto.com/u_14033984/8604945

相关文章

  • 无涯教程-F# - 列表(Lists)
    在F#中,列表(Lists)是相同类型的元素的有序、不可变的组合,它在某种程度上等效于链表数据结构。F#模块Microsoft.FSharp.Collections.List具有列表上的常用操作,但是,F#会自动导入此模块,并使每个F#应用程序都可以访问它。List初始化以下是创建列表的各种方法-使用List字面量。......
  • 无涯教程-F# - 记录(Records)
    记录(Records)类似于元组,但是它包含命名字段。例如,typewebsite={title:string;url:string}定义记录使用type关键字将记录定义为类型,并将记录的字段定义为以分号分隔的列表。定义记录的语法是-typerecordName={[fieldName:dataType]+}创建......
  • 无涯教程-F# - 数据类型
    F#中的数据类型可以分类如下-整数类型浮点类型文本类型其他类型整体数据类型下表提供了F#的整数数据类型,这些基本上是整数数据类型。F#TypeSizeRangeExampleRemarkssbyte1byte-128to12742y-11y8-bitsignedintegerbyte1byte0to25542uy200uy8-......
  • DockerCompose修改某个服务的配置(添加或编辑端口号映射后如何重启单个服务使其生效)
    场景docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/128372122上面讲了dockercompose的应用示例,如果需要修改某个服务的配置文件,比如需要给其中一个java服务添加一......
  • 无涯教程-MySQL String Functions函数
    Sr.No.Name&Description1ASCII()返回最左边字符的数值2BIN()返回参数的字符串表示形式3BIT_LENGTH()返回参数的长度(以位为单位)4CHAR_LENGTH()返回参数中的字符数5CHAR()返回传递的每个整数的字符6CHARACTER_LENGTH()CHAR_LENGTH()的同义词7......
  • 无涯教程-MySQL Numeric Functions函数
    MySQL数值函数主要用于数值运算和/或数学计算。下表详细介绍了MySQL实现中可用的数值函数。Sr.No.Name&Description1ABS()返回数值表达式的绝对值。2ACOS()返回数值表达式的反余弦值。如果该值不在-1到1之间,则返回NULL。3ASIN()返回数字表达式的反正弦值。如......
  • 无涯教程-MySQL AVG Function函数
    MySQLAVG函数用于查找各种记录中某个字段的平均值。要了解AVG函数,请考虑一个employee_tbl表,该表具有以下记录-mysql>SELECT*FROMemployee_tbl;+------+------+------------+--------------------+|id|name|work_date|daily_typing_pages|+------+-......
  • 无涯教程-MySQL MIN Function函数
    MySQLMIN函数用于在记录集中找出最小值的记录。要了解MIN函数,请考虑一个employee_tbl表,该表具有以下记录-mysql>SELECT*FROMemployee_tbl;+------+------+------------+--------------------+|id|name|work_date|daily_typing_pages|+------+-----......
  • 无涯教程-MySQL IN Clause函数
    您可以使用IN子句替换许多OR条件要了解IN子句,请考虑一个employee_tbl表,该表具有以下记录-mysql>SELECT*FROMemployee_tbl;+------+------+------------+--------------------+|id|name|work_date|daily_typing_pages|+------+------+------------......
  • 无涯教程-PERL函数
    本教程将教您如何在Perl脚本中访问数据库。从Perl5开始,使用DBI模块编写数据库应用程序变得非常容易。DBI代表Perl的数据库独立接口,这意味着DBI在Perl代码和基础数据库之间提供了一个抽象层,使您可以真正轻松地切换数据库实现。DBI是Perl编程语言的数据库访问模块。它提供......