第21章 字典(Dictionary)

如果你想要存储一个项目并想通过一个唯一的键引用该项目,你可以使使用字典。数组中的项目都是有序的,而字典中的项目则是无需的。然而,你可以通过你加入字典时提供的那个key来访问该项目。要创建一个对象,你既要指定键的数据类型,也要指定值得数据类型。如下所示:

vard1:Dictionary<String, Int>

在上面代码中,d1声明为一个字典,其key为String类型, 值为Int型,在你添加项目之前,需要对字典进行初始化:

d1 = Dictionary()

有时,你声明一个字典并使用一个字典字面常量来初始化该字典。一个字典字面常量是一个具有固定的键值对的常量字典。如下:

var webPages =[1:"http://site/home", 2:"http://site/blog",3:"http://site/contact"]

上面代码中创建了一个名为webPages的字典,使用整型值为key并存储字符串类型的网页地址作为值

引用字典项目

要引用字典中的一个项目,你需要在字典名字之后,使用[]包裹一个键值,如下所示:

var webPages =[1:"http://site/home", 2:"http://site/blog",3:"http://site/contact"]

let blogPage = webPages[2]

在上例中,常量blogPage的值为http://site/blog ,因为2这个键指向字符串http://site/blog

 

更新字典项目

要更新字典中的某一项,你需要先获取该项的引用,然后通过赋值运算符为该项提供一个新的值,如下所示:

webPages[1] ="http://site/home/a"

在这个例子中,你在中括号中提供一个键并通过赋值改变网页的地址。键为其他数据类型(如字符串、浮点型)的字典也可以采用这种方式改变某项的值,如下:

var d2:Dictionary= ["a":"AAAA", "b":"BBBB"]

var d3:Dictionary = [1.1:"AAAA", 1.2:"BBBB"]

d2["a"] = "AAAAaaaa"

d3[1.2] = "BBBBbbbb"

上述代码中,使用字符串类型的键访问d2字典的某一项并改变该项的值,同时也是用浮点型数作为键并改变d3字典某一项的值

要从数组中移除某个项,只需要将该项的值更新为nil就可以了。还有另一种方式,就是调用removeValueForKey()函数,如下:

d2["b"]= nil

d2.removeValueForKey("a")

在上例中,使用removeValueForKey()函数从d2字典中移除了键为a的那一项

遍历字典

要遍历字典的每一项,需要使用for-in循环语句(见第22章),你会在循环中获取键和值得引用,如下:

for (key, value)in d3{

println("key:\(key), value:\(value)")

}

这个循环语句会打印出:

key:1.10000002384186,value:AAAA

key:1.20000004768372, value:BBBBbbbb

如果你只需要遍历键(key),你可以访问字典的key属相,如下:

for key ind3.keys{

println("key:\(key)")

}

上述循环会打印:

key:1.10000002384186

key:1.20000004768372

时间: 2024-10-12 23:53:08

第21章 字典(Dictionary)的相关文章

C#中数组、集合(ArrayList)、泛型集合List&lt;T&gt;、字典(dictionary&lt;TKey,TValue&gt;)全面对比

为什么把这4个东西放在一起来说,因为c#中的这4个对象都是用来存储数据的集合--. 首先咱们把这4个对象都声明并实例化一下: //数组 string[] m_Str = new string[5]; //集合 ArrayList m_AList = new ArrayList(); //泛型集合 List<int> m_List = new List<int>(); //字典 Dictionary<int, string> m_Dt = new Dictionary&l

&lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第04章 | 字典

第04章:字典 当索引不好用时 Python唯一的内建的映射类型,无序,但都存储在一个特定的键中,键可以使字符,数字,或者是元祖. ------ 字典使用: 表征游戏棋盘的状态,每个键都是由坐标值组成的元祖 存储文件修改的次数,文件名作为键 数字电话/地址薄 函数传递值def func(x,*args,**args): 如果要建公司员工与座机号的列表,如果要获得Alice的座机只能这么找 >>> names   = ['Alice','Bob','Tom'] >>> n

4.20日第13次作业.,20章战略管理,21章业务流程管理和重组,22章知识管理,高项,29-田哲琦

4.20日第13次作业.,20章战略管理,21章业务流程管理和重组,22章知识管理,高项,29-田哲琦 20章.战略管理1.企业战略的特点有哪些?P420-421 答:1).全局性 2).长远性 3).抗争性 4).纲领性 2.企业战略决策的特点有哪些?P421答:1).决策的对象是复杂的,很难把握住它的结构,并且是没有先例的,对其处理上也是没有经验可循. 2).面对的问题常常是突发性的.难以预料的.所依靠的是来自外部的关于未来如何变化的很少的情报. 3).决策的性质直接涉及到企业的前途. 4)

Python 字典(Dictionary) get()方法

描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 key -- 字典中要查找的键. default -- 如果指定键的值不存在时,返回该默认值值. 返回值 返回指定键的值,如果值不在字典中返回默认值None. 实例 以下实例展示了 get()函数的使用方法: #!/usr/bin/python dict = {'Name': 'Zara', 'A

Swift 集合类型(Collection Type) 之 字典(dictionary)(官方文档翻译及总结)

Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组和字典中存储的数据值类型必须明确.这意味着我们不能把不正确的数据类型插入其中.Swift对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚.也让我们在开发中可以早早的找到任何的类型不匹配错误.如果你用变量(var)创建的集合,这些集合就是可变的(增删改).如果用常理创建的,这些集合是不能被操作的. 注意: 如果集合的元素是不变的,那就将集合声明为常量.这样Swift编译器能对你创建的集合做性能优化. 1. 数组(arr

Python 字典(Dictionary) setdefault()方法

描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: dict.setdefault(key, default=None) 参数 key -- 查找的键值. default -- 键不存在时,设置的默认键值;存在则不设置. 返回值 该方法没有任何返回值. 实例 以下实例展示了 setdefault()函数的使用方法: #!/usr/bin/pytho

swift学习第五章-字典的使用

//下面是关于字典的 //字典的格式[key:value] //字典可以存放基本类型和对象类型的 //声明一个字典 var dictionary1=["key1":"鸭鸭","key2":"肉包"] var keyValueCount=dictionary1.count//获取这个字典里面键值对的个数 dictionary1["key1"]="鸡鸡"//改变对应健的值 //updateV

索引器、哈希表Hashtabl、字典Dictionary(转)

一.索引器 索引器类似于属性,不同之处在于它们的get访问器采用参数.要声明类或结构上的索引器,使用this关键字. 示例: 索引器示例代码 /// <summary>/// 存储星期几的类.声明了一个get访问器,它接受字符串,并返回相应的整数/// </summary>public class 星期{    public string[] weeks = { "星期日", "星期一", "星期二", "星期三

4.11日第11次作业,21章法律法规与标准,22章职业道德规范

4.11日第11次作业,21章法律法规与标准,22章职业道德规范 21章:法律法规和标准规范 22章:职业道德规范 1.中国标准划分为哪四个层次?要求最低的是哪个?P498 答:<中华人民共和国标准化法>将标准划分为4个层次:即国家标准.行业标准.地方标准和企业标准.其中国标最低,企业标准最高. 2.国家标准的制订程序包括哪些?P499中间 答:国家标准的制定有一套正常程序,每一个过程都要按部就班地完成,这个过程分为前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止9个阶段. 3.I