字典 特性
1.key-value结构
2.key必须为不可变数据类型、必须唯一
3.可存放任意多值、可修改、可以不唯一
4.无序
5.查找速度快
字典采用 键值对的形式来保存数据
键可以采用任意变量类型 字符串 bool 数字 元组
注意:不能用列表
使用键获取对应的值
字典名[键名]
空字典
dict1 = {}
dict1 = dict()
赋值
dict1 ={(1, 2): [2,5,None], 3: 2}
获取
print(dict1[(1, 2)])
字典名[键名] = 值
如果键名存在,更改原来的值
如果不存在,就添加一个键值对
1. clear() 清空字典
dict1.clear()
2. pop() 移除 指定键 返回值为被删除的值。key值必须给出。 否则,返回default值。
dict1.pop()
3. copy()拷贝 复制
dict2 = dict1.copy()
4.* fromkeys()将序列中所有的元素变为新字典中每一个键,并对应同一个值
dict.fromkeys(seq,[ value])
seq -- 字典键值列表。
value -- 可选参数, 设置键序列(seq)的值
print(dict1.fromkeys("nihao",2))
print(dict1.fromkeys([1,2,3],"ganta"))
print(dict1)
5. get() 利用键获取值 如果键不存在,则返回None
dict1 = {"key1": 1, "key2": True, "3": "nihao"}
print(dict1.get("4")) # None
print(dict1["4"]) # KeyError 报错
6. items() 所有键值组成一个小元组放在列表里
print(dict1.items())
遍历字典列表
for key,values in dict.items():
print key,values
7.keys() 获取字典中所有的键
print(dict1.keys())
8.values()获取字典中所有的值
print(dict1.values())
9. popitem() 随机移除一个键
dict1.popitem()
print(dict1)
10.setdefault 获取对应键的值,如果键不存在, 则添加一个新的键值,如果值不写,则默认为None,
print(dict1.setdefault("4"))
print(dict1.setdefault("4", 10))
print(dict1)
11.update() 更新字典 连接两个字典 有同样的key 就会将原来覆盖
dict2 = {1: 2, "3": 5}
dict1.update(dict2)
print(dict1)
12.遍历 for循环
可以遍历键 keys()
也可以遍历值 values()
还可以遍历键值对 items()
for i in dict1.items():
print(i)