dict(字典)类型 |
(参考教程5.5节,标准库手册4.10节) 字典是一个表示映射的类型,可以看作是一种二元组的集合,它的每个元素都是一个 "关键码 : 值" 对,表示 "关键码"(称为 key)与值的一个关联。在一个字典里的关键码具有唯一性,也就是说,每个关键码关联的值是唯一确定的。
语法一对花括号 "{ }" 建立一个空字典。通过在花括号里直接写出一串逗号分隔的 "关键码 : 值" 对(用冒号分隔的一对表达式),可以直接描述非空的字典。注意,"关键码" 和 "值" 都可以是任意表达式,但作为关键码的对象(关键码表达式求出的值)必须是不可变对象(例如,不能是表或集合,但可以是元组等复合对象)。 用途(语义)字典的用途就是存入一些值,使之与相应的关键码关联,然后可以通过关键码取得保存的值。可以存入新的关键码-值关联,也可以为已有关键码关联新的值(修改其关联值,如果原有关联值,该值丢弃),还可以用 del 操作删除字典中已有的关联对。 用一个字典里不存在的关键码去查询相关值,将导致一个运行错误。字典操作(假设 dic 是一个已有的字典,k 是适当的关键码,v 是值):
在字典上迭代计算程序里可能需要处理一个字典里保存的所有信息,下面是几个处理字典元素的循环,假设其中的 dic 是一个已有的字典,省略号表示一些处理代码:for k in dic.keys() : ... k ... dic[k] ... for k in sorted(dic.keys()) : ... k ... dic[k] ... for k, v in dic.items() : ... k ... v ...第一个例子里的 for 语句将在 dic 的所有关键码上循环,对每个关键码做一次迭代,但处理关键码的顺序由内部确定。第二个例子里的 for 语句也是对 dic 的每个关键码做一次迭代,但 sorted 将把这些关键码按某种顺序排列好(例如,对字符串关键码是按字典序排列),按排列后的顺序做。第三个例子在 for 语句的每次迭代时用 k, v 取得一对关键码和值。 上面第一个例子可以简化,例如写: for k in dic : print(k, dic[k])直接把字典写在 for 语句的 in 之后,就能逐个字典里的关键码,顺序由程序内部确定。 |
本页及相关页面(除另声明者外)由裘宗燕创建维护,可自由用于各种学习活动。其他使用需得到作者许可。 |