1.key: value,键: 值对
dict = {'xiaoming': 90, 'xiaomao': 80, 'xiaoli': 54} //关键字key必须是不可变对象
d1 = dict(a=10, b=2, c=0) // {'a':10, 'b':2, 'c':0}
d2 = dict(zip(['a', 'b', 'c', 'd'], [1,2,3,4])) //将两个list变为一个tuple,在通过dict方法变为字典{'a': 1, 'c': 3, 'b': 2, 'd': 4}
2.常用操作
-
取值,删除和清空
d = {'xiaoming': 90, 'xiaomao': 80, 'xiaoli': 54}
d['xiaoming'] //返回key为'xiaoming'的value值90
d.keys() //['xiaomao', 'xiaoming', 'xiaoli'],返回key构成的列表
d.values() //[80, 90, 54],返回value构成的列表
d.items() //[('xiaomao', 80), ('xiaoming', 90), ('xiaoli', 54)],返回key:value对的元组列表
a = dict.get('python', 'None!') //将key为'python'的value取出,赋值给a,如果key不存在,赋值给a 'None!'del d['xiaoming'] //删除key为'xiaoming'的value,无返回值 d['xiaoxiao'] = 33 //增加key为'xiaoxiao',value为33进入字典d d.update({'xiaohong': 33}) //增加新字典到d clear dict //清空字典,变为空字典{}
-
引用和拷贝
//引用和拷贝
code = {'c++':38599, 'python':100931, 'shell':26153, 'ruby':93142, 'java':84275, 'javascript':184220, 'c':46843}
code_ref = code
code_copy = code.copy()other_code = {'php':78014,'objective-c':34444} code.update(other_code) del code['c++'] code code_ref code_copy //深拷贝,字典内没有嵌套,浅拷贝只拷贝第一层,深拷贝包括深层内容
3.其他
- 字典是散列表,没有顺序,适合插入和查询操作
- key不一定是字符串,但是一定是不可变对象(数字、字符串和元组),value可以是任意类型或者嵌套
- 可以排序,一种是列表解析,返回一个list存储结果;另外,有序的字典类型后续介绍
网友评论