字典在其他编程语言中又称作关联数组或散列表 通过键实现元素存取: 无序集合,可变类型容器,长度可变,异构,嵌套 表示方法: phonebook = {'Alice':'1234','Beth':'9102',...} 字典由键及相对应的值组成,这种键-值对称为项(item).在前面的示例中,键为名字,而值为电话号码。 每个键与其值之间都用冒号(:)分割,项与项之间用逗号分割,而整个字典放在花括号内{}. dict = {} 定义一个空字典 dict = {key1:value1,key2:value2,...} 注意: 在字典(以及其他映射类型)中,键必须是独一无二的,如果键发生冲突,以最后一个为准(可哈希对象才可以当作键,因为在查找是是把键做了个哈希 表进行查找的, 所以速度非常快,字典本身是不可哈希的,不能拿字典本身来当键,字典嵌套字典时候,内部的字典可以当作值来用而不可以当作值来用)而字典中 的值无需如此。 dict = {'x':123,'y':234,'z':456} print (dict['x']) 123 len: 返回字典中元素的个数 >>> dict = {'a':1,'b':2,'c':3} >>> print(len(dict)) 3 字典复制:dict.copy() 深度复制 dict1 = dict.copy() >>> dict1 = {'x':1,'y':2,'z':3} >>> dict2 = dict1 (浅复制) >>> id(dict1) 140166806717496 >>> id(dict2) 140166806717496 >>> dict3 = dict1.copy() (深度复制,内存位置发生变化) >>> id(dict3) 140166805562568 dict.get (取得对应键的值) >>> dict = {'x':1,'y':2,'z':3} >>> dict.get('x') 1 >>> dict.get('y') 2 >>> dict.get('z') 3 >>> >>> dict.get('h') (get的好处没有这个元素也不会抛出异常) >>> dict.items (把D中的键值,实现将字典转换为元组列表的方式) 注:每一项都被拆成了一个元组,这些元组合起来组成一个列表 >>> dict = {'x':1,'y':2} >>> dict.items() dict_items([('x', 1), ('y', 2)]) 变量解包(两边要保持一致) >>> dict = {'x':1,'y':2} >>> t1,t2 = dict.items() >>> print (t1) ('x', 1) >>> print (t2) ('y', 2) >>> dict.keys (返回键列表) >>> dict = {'x':1,'y':2,'z':3} >>> dict.keys() dict_keys(['x', 'y', 'z']) dict.value (返回值列表) >>> dict = {'x':1,'y':2,'z':3} >>> dict.values() dict_values([1, 2, 3]) dict.pop (弹出指定的key) >>> dict = {'x':1,'y':2,'z':3} >>> dict.pop('x') 1 >>> print (dict) {'y': 2, 'z': 3} >>> dict.popitem (随机弹出的项) >>> dict = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6,'g':7} >>> dict.popitem() ('g', 7) >>> dict.popitem() ('f', 6) >>> dict.popitem() ('e', 5) >>> dict.popitem() ('d', 4) >>> dict.update (将一个字典合并到当前字典中) 注意:重复的键,将会被覆盖 update() 方法用于将dict2的键值对添加到dict此方法不返回任何内容。 >>> dict1 = {'a':1,'b':2} >>> dict2 = {'x':666,'a':888} >>> dict1.update(dict2) >>> print(dict1) {'a': 888, 'b': 2, 'x': 666} >>> dict.clear() 清空字典 >>> dict1 = {'a': 888, 'b': 2, 'x': 666} >>> dict1.clear() >>> dict1 {}
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦