字典简介:
使用键-值(key-value)存储数据,具有极快的查找速度
key的特性:
1.字典中的key必须唯一
2.key必须是不可变对象
3.字符串、整数等都是不可变的,可以作为key
4.list是可变的,不能作为key
字典的方法:
students = {"name":"cxj","age":18,"gender":"男"}
1.字典的取值:dict[key]
students["name"] 结果为cxj
2.返回指定键的值,如果值不在字典中返回default值:dict.get(key, default=None)
students.get("gender","女") 结果为男
3.删除字典给定键 key 所对应的值,返回值为被删除的值:dict.pop(key)
students.pop("age") 结果为字典删除age:18键值对,
4.随机返回并删除字典中的一对键和值:dict.popitem()
st = students.popitem() 结果为随机删除students中的一个键值对,并返回给st
5.删除字典内所有元素:dict.clear()
6.计算字典元素个数,即键的总数:len(dict)
7.输出字典可打印的字符串表示:str(dict)
str(students) 结果为返回字符串"{"name":"cxj","age":18,"gender":"男"}"
8.返回输入的变量类型,如果变量是字典就返回字典类型:type(dict)
9.返回一个字典的拷贝:dict.copy()
10.创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值:
dict.fromkeys(seq[, val])
11.判断键是否在字典中:dict.has_key(key)
12.返回可遍历的(键, 值):dict.items()
13.返回一个字典所有的键:dict.keys()
14.返回字典中的所有值:dict.values()
15.如果键不存在于字典中,将会添加键并将值设为default:dict.setdefault(key,
default=None)
16.把字典dict2的键/值对更新到dict里:dict.update(dict2)
dict和list比较:
1、dict查找和插入的速度极快,不会随着数据的增加而变慢
2、需要占用大量的内存,内存浪费多
3、list插入和查找的速度会随着数据的增加而变慢
4、占用内存少,浪费空间少