dict 称作字典(dictionary)。 常见的形式 dict = {'a':1,'b':2} 单层key,value形式的字典 dict = {'mans':{'a':1,'b':2}} 嵌套字典 key-value 键值对的数据的集合 非线性结构,可迭代,可变的,无序的,key不重复,key必须是可hash的 构造方法 >>> dict = {} {} >>> dict = dict.fromkeys(['a','b']) {'a':None,'b':None} >>> dict = dict(zip(["a","b"],["1","2"])) {'a':'1','b':'2'} >>> dict = dict(a="1",b="2") {'a':'1','b':'2'}
字典元素的访问 d [key] 返回key对应的值value key不存在抛出KeyError异常 get(key[,default]) 返回key对应的值value key不存在返回缺省值,如果没有设置缺省值就返回None setdefault(key[,default]) 返回key对应的值value key不存在,添加kv对,value设置为default,并返回default,如果default没有设置,缺省为None
字典增加和修改 d [key] = value 将key对应的值修改为value key不存在添加新的kv对 update([other])返回None, 使用另一个字典的kv对更新本字典,也可以使用一个可迭代对象 key不存在,就添加 key存在,覆盖已存在的key对应的值 就地修改
字典的删除 pop(key[,default]) key存在,移除它,并fanhui它的value key不存在,返回给定的default default未设置,key不存在则抛出KeyError异常 popitem() 移除并返回一个任意的键值对 字典为empty,抛出KeyError异常 clear() 清空字典
字典遍历 for ... in dict 遍历key for key in dict: print(key) for k in d . keys(): print(k) 遍历value for v in d . values(): print(v) 遍历items for item in d . items(): print(item) for item in d . items(): print(item[0],item[1]) for k,v in d . items(): print(k,v) for k,_ in d . items(): print(k) 补充知识
一: dictionary 操作: Dictionary:定义了键和值之间一对一的关系,在 Python 中,变量可以任意取名,并且 python 在内部会记录下其数据类型。
1.定义 Dictionary:
>>> d = {"server":"mpilgrim", "database":"master"} >>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["server"] 'mpilgrim'
>>> d["database"] 'master'
新 dictionary,它有两个元素,将其赋给变量 d 。每一个元素都是一个 key-value 对;整个元素集合用大括号括起来。
'server' 是一个 key,它所关联的值是通过 d["server"] 来引用的,为 'mpilgrim'。
'database' 是一个 key,它所关联的值是通过 d["database"] 来引用的,为 'master'。
可以通过 key 来引用其值,但是不能通过值获取 key,
>>> d["mpilgrim"]
Traceback (innermost last):
KeyError: mpilgrim 2.修改 Dictionary
>>> d["database"] = "pubs"
>>> d
{'server': 'mpilgrim', 'database': 'pubs'}
>>> d["uid"] = "sa"
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'} 一个 dictionary 中不能有重复的 key。给一个存在的 key 赋值会覆盖原有的值。Dictionary 没有元素顺序的概念,它们只是序偶的简单排列。dictionary 的 key 是大小写敏感的。 >>> d = {}
>>> d["key"] = "value"
>>> d["key"] = "other value" (1)
>>> d
{'key': 'other value'}
>>> d["Key"] = "third value" (2)
>>> d
{'Key': 'third value', 'key': 'other value'}
为一个已经存在的 dictionary key 赋值,将简单覆盖原有的值。这不会为一个已经存在的 dictionary key 赋值,因为在 Python 中是区分大小写的,也就是说 'key' 与 'Key' 是不同的。所以这种情况将在 dictionary 中创建一个新的 key-value 对。Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型,包括字符串、整数、对象,甚至其它的 dictionary。在单个 dictionary 里,dictionary 的值并不需要全都是同一数据类型,可以根据需要混用和匹配。 3.dictionary 中删除元素
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master',42: 'douglas', 'retrycount': 3}
>>> del d[42] (1)
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3}
>>> d.clear() (2)
>>> d
{} del 允许您使用 key 从一个 dictionary 中删除独立的元素。
clear 从一个 dictionary 中清除所有元素。注意空的大括号集合表示一个没有元素的 dictionary。
|