Python之字典操作
特性:
- key-value结构
- key必须为不可变数据类型、必须唯一
- 可存放任意多个value、可修改、可以不唯一
- 无序
创建操作
>>>person = {"name": "alex", 'age': 20} #或 >>>person = dict(name='seven', age=20) #或 >>>person = dict({"name": "egon", 'age': 20}) #或 >>> {}.fromkeys([1,2,3,4,5,6,7,8],100) {1: 100, 2: 100, 3: 100, 4: 100, 5: 100, 6: 100, 7: 100, 8: 100}
增加操作
names = { "alex": [23, "CEO", 66000], "黑姑娘": [24, "行政", 4000], } # 新增k names["佩奇"] = [26, "讲师", 40000] names.setdefault("oldboy",[50,"boss",100000])
删除操作
names.pop("alex") # 删除指定key names.popitem() # 随便删除1个key del names["oldboy"] # 删除指定key,同pop方法 names.clear() # 清空dict
修改操作
dic['key'] = 'new_value',如果key在字典中存在,'new_value'将会替代原来的value值; dic.update(dic2) 将字典dic2的键值对添加到字典dic中
查操作
dic['key'] #返回字典中key对应的值,若key不存在字典中,则报错; dic.get(key, default = None)#返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None) 'key' in dic #若存在则返回True,没有则返回False dic.keys() 返回一个包含字典所有KEY的列表; dic.values() 返回一个包含字典所有value的列表; dic.items() 返回一个包含所有(键,值)元组的列表;
循环
1、for k in dic.keys() 2、for k,v in dic.items() 3、for k in dic # 推荐用这种,效率速度最快 info = { "name":"小猿圈", "mission": "帮一千万极客高效学编程", "website": "http://apeland.com" } for k in info: print(k,info[k]) 输出 name 小猿圈 mission 帮一千万极客高效学编程 website http://apeland.com
求长度
len(dic)