字典(dict)

  字典是有序,键不重复,元素只能是键值对的可变的容器

dict = {'k1':'v1','k2':'v2'}
  • 容器
  • 元素必须键值对
  • 键不重复,重复则会被覆盖
data = {'k1':'1','k1':'2'}
print(data) #{'k1': '2'}

  一般什么情况下用到字典?当我们需要表示一组信息时,字典可以表现的更直观

dict = [{'user':'ccc','pwd':'123'},{'user':'ddd','pwd':'asd123'}]

  独有功能

info = {'age':'12','name':'admin','status':True}
data1 = info.get('name')
print(data1) #admin data2 = info.get('email')
print(data2) #None data3 = info.get('hobby',123)
print(data3) #123
  • 所有的键
info = {'age':20,'name':'ccc','pwd':'asd123'}
data = info.keys()
print(data) #dict_keys(['age', 'name', 'pwd']) #keys()也可以被循环显示
info = {'age':20,'name':'ccc','pwd':'asd123'}
for item in info.keys():
print(item)
  • 所有的值
info = {'age':20,'name':'ccc','pwd':'asd123'}
data = info.values()
print(data) #dict_values([20, 'ccc', 'asd123']) #values()也可以被循环显示
info = {'age':20,'name':'ccc','pwd':'asd123'}
for item in info.values():
print(item)
  • 所有的键值
info = {'age':20,'name':'ccc','pwd':'asd123'}
data = info.items()
print(data) #dict_items([('age', 20), ('name', 'ccc'), ('pwd', 'asd123')]) info = {'age':20,'name':'ccc','pwd':'asd123'}
for item in info.items():
print(item)

  公共功能

  • 长度
info = {'age':20,'name':'ccc','pwd':'asd123'}
data = len(info)
print(data) #3
  • 是否包含
info = {'age':20,'name':'ccc','pwd':'asd123'}
d1 = 'name' in info
print(d1) #True
#判断键是否在里面 info = {'age':20,'name':'ccc','pwd':'asd123'}
if 'ccc' in info.values():
print('ccc在里面')
else:
print('ccc不在里面')
  • 索引(键)

  字典不同于元组和列表,字典的索引是键

info = {'age':12,'status':True,'name':'ccc'}
print(info['age']) #12
print(info['name']) #ccc
print(info['status']) #True
  • 根据键 修改值 和 添加值 和 删除键值对
#添加值
info = {'age':12,'status':True,'name':'ccc'}
info['gender'] = '男'
print(info) #{'age': 12, 'status': True, 'name': 'ccc', 'gender': '男'} #修改值
info = {'age':12,'status':True,'name':'ccc'}
info['age'] = 18
print(info) #{'age': 18, 'status': True, 'name': 'ccc'} #删除值
info = {'age':12,'status':True,'name':'ccc'}
del info['age']
print(info) #{'status': True, 'name': 'ccc'}

  速度快

info = {
'ccc':['铁锤','肝胆'],
'老大爷':['傻蛋','蠢蛋']
}
if 'ccc' in info:
print('在')
info = {
'ccc':['铁锤','肝胆'],
'老大爷':['傻蛋','蠢蛋']
}
d1 = info['ccc']
d2 = info.get('ccc')

  嵌套

  • 字典的键必须可哈希(list/set/dict不可哈希)
info = {(11,22):123}
  • 字典的值是可以任意类型(这个值是可哈希的,否则会报错)
info  ={'k1':{12,2,5},'k2':{'x1':'xxx'}}

最新文章

  1. 瘋子C语言笔记(结构体/共用体/枚举篇)
  2. UVA 10054 (欧拉回路) The Necklace
  3. jQuery 中 data 方法的实现原理
  4. Cmd命令
  5. wordpress自定义数据库出错页面
  6. Java锁的种类
  7. Uva 1626,括号序列
  8. 转:通过代码理解Asp.net4中的几种ClientIDMode设置.
  9. 一个matlab数字图像处理程序的解释
  10. PHP - 字符串操作
  11. Angular开发者指南(一)入门介绍
  12. 2015苏州大学ACM-ICPC集训队选拔赛(3)题解
  13. Tomcat闪退的问题
  14. [转]the service mysql57 failed the most recent status[/br]mysql57 was not found解决办法
  15. linux(CENTOS)系统各个目录的作用详解
  16. SSM框架中如何简便上传文件表单
  17. Note of Jieba
  18. 芯片烧录器编程AT24C02
  19. awesomium_v1.6.6_sdk 百度云下载地址
  20. javaweb中使用百度、谷歌地图进行定位

热门文章

  1. 图解算法——KMP算法
  2. codeforces 14D(搜索+求树的直径模板)
  3. CodeForces - 13E(分块)
  4. FZU 2129 子序列个数(DP)题解
  5. sql-libs(1) -字符型注入
  6. Apple Support
  7. set CSS style in js solutions All In One
  8. CORS All In One
  9. auto switch HTTP protocol Chrome Extension
  10. @bind decorator