1,dict 字典的含义
字典就是我们在其他原因中用到的key:value形式的一种表达形式,
2,字典的定义方法
简单地说字典就是用大括号包裹的键值对的集合。(键值对也被称作项)
一般形式:
A = dict(a=1, b=2)
A = {“name”: “a”}
A = dict([(“name”, “a”), (“age”, 18)])
如:
n={"name":"sixgod","age":18}
print(n)
结果为:{'name': 'sixgod', 'age': 18}
特点:
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
3、字典中的键必须是唯一的,而值可以不唯一。
3,字典的常用方法
(1)get(key,defaule=None) 返回指定键的值,如果值不在字典中返回默认值。
如:定义字典n,其中有key:name age,查找key为name所对应的value。
n={"name":"sixgod","age":18} print(n.get("name"))
结果为:sixgod
当查找的值不存在时,会返回默认值。
n={"name":"sixgod","age":18} print(n.get("address"))结果为:None
返回的值是可以自己定义的如:
n={"name":"sixgod","age":18} print(n.get("address","没有"))结果为:没有
(2)keys()获取所有的key
如:
n={"name":"sixgod","age":18} print(n.keys())
结果为:dict_keys(['name', 'age'])
(3)values()获取所有的value
如:
n={"name":"sixgod","age":18} print(n.values())结果为:dict_values(['sixgod', 18])
(4)items() 以列表返回可遍历的(键, 值) 元组数组。
如:
n={"name":"sixgod","age":18}
print(n.items())
结果为:dict_items([('name', 'sixgod'), ('age', 18)])
# 此方法会将字典中的所有key:value都打印出来,在python2中,iteritems()方法是:取一次值,打印一个key:value
不会一次全打印出来,需要配合循环使用。如:
n={"name":"sixgod","age":18} for i,j in n.iteritems():print(i,j)
(5) update() 语法:dict.update(dict2) 函数把字典dict2的键/值对更新到dict里。(可以理解为增加)
如:
n={"name":"sixgod","age":18} m={"address":"china"} n.update(m) print(n)
结果为:{'name': 'sixgod', 'age': 18, 'address': 'china'}
(6)pop() 语法:pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
如:定义一个字典n,删除key “name”,则返回name所对应的值:“sixgod”,可以看到此时字典n中已经没有name了。
n={"name":"sixgod","age":18} print(n.pop("name")) print(n)
结果为:sixgod
{'age': 18}
(7)copy() 语法:dict2 = dict1.copy() 对字典进行深复制:dict2不会随着dict1的改变而改变。
另一种:dict2 = dict1 这种dict2 会跟着 dict1 发生改变。
如:(1:a,b 开始是相同的,当删除了a的key“a”后,b还是原来的样子。
a = {"a":1,"b":2,"c":3} b = a.copy() print(a,b) a.pop("a") print(a,b)
输出为:{'a': 1, 'b': 2, 'c': 3} {'a': 1, 'b': 2, 'c': 3}
{'b': 2, 'c': 3} {'a': 1, 'b': 2, 'c': 3}
(2:
a = {"a":1,"b":2,"c":3} b = a print(a,b) a.pop("a")
print(a,b)
结果为:{'a': 1, 'b': 2, 'c': 3} {'a': 1, 'b': 2, 'c': 3}
{'b': 2, 'c': 3} {'b': 2, 'c': 3}