字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的:

Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的。

Value:任意数据(int,str,bool,tuple,list,dict,set),包括后面要学的实例对象等。

 在Python3.5版本(包括此版本)之前,字典是无序的。

 在Python3.6版本之后,字典会按照初建字典时的顺序排列(即第一次插入数据的顺序排序)。

 当然,字典也有缺点:他的缺点就是内存消耗巨大。
      优点:查询速度快,映射型数据

字典的常用操作:

增: dict['键']=值                                         无添加,有更改
  dict.setdefault('键','值') 无添加,有不变,且返回原来的值
    有返回值:dict.setdefault('键')
              如果键存在,返回键对应的值  
              如果键不存在,则给字典添加这个键,他的值为None,且返回none
删:   dict.pop['键']                    删除字典中的键值对,并返回删除的值(如果键不存在报错key Error)
      如果没有这个键,可以设置返回值,dict.pop['',dddd] 不会报错,返回dddd
  dict.popitem() 3.5版本前随机删除一个键值对
               3.6版本后默认删除最后一对,返回一个元祖,字符串逗号分割,字典空了再删报错
  del dict['键'] 没有返回值,直接对字典操作 当键不存在时报错
  del dict 删除字典
  dict.clear() 清空字典
改:   dict['键']=值                      无则添加,有则修改
  update
  dict.update(键='值',键='值') 添加键值对,以有的键会更改值
  dict1.update(dict2) 把字典2添加到字典1,有相同的键,2会覆盖1的值
查:  dict['键']                        返回键对应的值(没有键会报错)
   dict.get('键','返回值') 键存在的情况下,返回值,不存在返回提示返回值
dict.keys() 返回字典键组成的列表包含于括号中----dict.keys(['键1','键2']) 类似列表 可用list强转
dict.values() 返回字典的值组成的列表包含于括号中-----dict.value('值1'.'值2') 类似列表
dict.items() 返回 dict_items([('', 11), ('', 22), ('j', 212)]) 可用dict强转为字典

分别赋值

a,b=1,2         #分别给a,b赋值
print(a,b)
a,b=b,a #同样再做赋值
print(a,b)
a,b,c =(1,2,3) #同数目的变量赋值同长度元祖元素
print(a,c)
a,b=[100,101] #同数目的变量赋值同长度的列表元素
print(a,b)
# 赋值:用相同数目的变量分别赋值类似的结构类型中的元素
# 我们可以试着给用在字典中:
# k,v={'1':11}
# print(k,v)
# 这样会报错,因为字典只能赋值到键,所以我们用dic.items()
for k,v in dic.items():
print(k,v) #返回字典的每一对键,值

dict.fromkeys('键为可迭代对象','值')
  创键一个字典,字典的键为可迭代对象的每一个元素,值都时相同的

最新文章

  1. 启用 Open vSwitch - 每天5分钟玩转 OpenStack(127)
  2. 解决VMware虚拟机宿主机与虚拟机通讯慢
  3. iOS开发需要哪些图片?
  4. Hello Mybatis 04 使用spring-mybatis
  5. iOS学习09C语言函数指针
  6. 使用WIF实现单点登录Part IV —— 常见问题
  7. xml & 符号表示方法,xml转义字符
  8. C++ Const成员函数
  9. GCD实现简单的单例类-Singletion
  10. jsp实现上一页下一页翻页功能
  11. Tornado介绍及自定义组件
  12. For in + 定时器
  13. 基于Web的漏洞利用
  14. linux之sed的使用
  15. Linux下Shell的for循环语句
  16. MTIM(中间人攻击)
  17. Soa思想分布式服务webservice WCF
  18. 8 -- 深入使用Spring -- 1...3 容器后处理器
  19. Linked dylibs built for GC-only but object files built for retain/release for architecture x86_64
  20. 使用Properties类和ResourceBundle类读取properties文件

热门文章

  1. ant安装报错:ANT_HOME is set incorrectly or ant could not be located. Please set ANT_HOME.
  2. 添加新网络模型后运行报错:未定义的参数:ps_roipooling param
  3. MySQL主从复制延迟的问题 #M1002#
  4. Java面试题和解答(三)
  5. boost中打印python中的变量
  6. yum 运行失败
  7. ios APNS注册失败 本地push
  8. Docker:从头开始基于CentOS-Minimal安装Docker
  9. 短信利用weixin://connectToFreeWifi/?apKey=协议跳转到微信打开落地页h5
  10. locust压测rpc协议