基础知识:

0、python对值没有要求,但对key有些要求,必须是非变量(变量,列表,字典)

1、在列表中使用成员资格操作符,和在字典中使用成员资格操作符,后者会更快

2、fromkeys这个函数会生成一个新的字典,如果以前存在就会直接覆盖

3、字典拷贝:dict2=dict1.copy()

4、

一、创建一个字典

dict1={'李宁':'一起皆有可能','耐克',}

字典其实就是perl里面的哈希

元祖、列表都是序列类型,字典是映射类型

用[]的数据都叫列表,用{}的数据我们叫做字典,这句话对吗?

答:不对

xx={1,2,3,4,5}

type(xx)      #输出的是<class 'set'>

创建字典有几种方式?

a=dict(one=1,two=2,three=3)

b={'one':1,'two':2,'three':3}

c=dict(zip(['one','two',three'],[1,2,3]))

d=dict([('two',2),('three',3),('one',1)])

e=dict({'three':3,'one':1,'two':2})

还有一个函数也可以

dict={}

dict.fromkeys((1,2,3),'shuzi')    #会生成一个新的字典:    {1: 'shuzi', 2: 'shuzi', 3: 'shuzi'}

字典用到的函数

key()、value()、item()

dict1=dict.fromkeys(range(32),'赞')

for each in dict1.keys():
  print each
for each in dict1.values():
  print each
for each in dict1.items():
  print each

想看这个键有没有对应的值,又不想看到报错信息怎么办

dict.get(3)    

dict.get(34)        #括号里面是key的值,想查看那个就看那个,如果没有就返回None

还可以使用成员关系符号:in  和 not in 。来查看这个键是否在这个字典当中

举个栗子:

30 in dict1      #返回TRUE

33 in dict1      #返回FLASE

怎么清空一个字典?    #clear

dict1.clear()

当然也可以这样:dict1={}

蛋是有下面这样的弊端:

dict1.fromkeys((1,2,3),'shuzi')

dict2=dict1

dict1={}

print dict2      #这里还是之前dict1的值 , 所以有些时候这种方法慎用

           #用clear是两个字典全部清空

浅拷贝

a={1:'gg',2:'mm',3:'biantai'}

b=a.copy()    #这就是浅拷贝

c=a        #这只是在相同的数据上加上不同的标签

id(a)    id(b)      id(c)    #第一个和第三个是一样的,id(b)跟他们不一样

          #改变a的值后,c会变,b不会变

还有一些函数:

a.pop(3)    #删除“3”这个键和值,并返回“3”对应的值

a.popitem()   #删除最后一个键值对,因为字典是无序的,所以你也不知道会删除那个

a.setdefault(4)  #增加一个键 蛋是这个键没有值

a.setdefault(5,'chengxuyuan')  #有键有值了

最后一个:update   #用一个字典更新另外一个

举个栗子就知道了

b={'ergou':'dog'}

a.update(b)      #a就会添加b中的键值对

Python入门--14--字典的更多相关文章

  1. python入门14 字典dict

    字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...

  2. python入门之字典

    1.字典的基本特征: key-value结构 key唯一,必须为不可变数据类型 value可以不唯一 无序 查找速度快 2.创建一个字典: info={“gaohui”:"IT", ...

  3. Python入门之字典的操作详解

    这篇文章主要介绍了Python 字典(Dictionary)的详细操作方法,需要的朋友可以参考下: Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一 ...

  4. python入门学习:5.字典

    python入门学习:5.字典 关键点:字典 5.1 使用字典5.2 遍历字典5.3 嵌套 5.1 使用字典   在python中字典是一系列键-值对.每个键都和一个值关联,你可以使用键来访问与之相关 ...

  5. Python入门篇-封装与解构和高级数据类型集合(set)和字典(dict)

    Python入门篇-封装与解构和高级数据类型集合(set)和字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装和结构 #!/usr/bin/env pytho ...

  6. 大爽Python入门教程 2-3 字符串,列表,字典

    大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...

  7. Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)

    Python的变量和数据类型 1 .python的变量是不须要事先定义数据类型的.能够动态的改变 2. Python其中一切皆对象,变量也是一个对象,有自己的属性和方法 我们能够通过 来查看变量的类型 ...

  8. 大爽Python入门教程 1-4 习题

    大爽Python入门公开课教案 点击查看教程总目录 1 [思考]方向变换 小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度), 小明面朝哪里?小明转过了多少圈? (360度为一圈,圈数向 ...

  9. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  10. Python入门版

    一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...

随机推荐

  1. activiti整合开发实例总结

    参考手册:http://www.mossle.com/docs/activiti/ 一.applicationContext.xml中引入activiti相关配置的xml文件 <!-- begi ...

  2. python-DB模块实例

    MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接口,我们可以在python中连接MySQLdb来实现数据的各种操作. python连接mysq ...

  3. 菜鸟学习Cocos2d-x 3.x——内存管理

    菜鸟学习Cocos2d-x 3.x——内存管理 2014-12-10 分类:Cocos2d-x / 游戏开发 阅读(394) 评论(6)    亘古不变的东西 到现在,内存已经非常便宜,但是也不是可以 ...

  4. 高德定位腾讯定位在APP上无法开启定位权限的解决方案

    [备注]公司项目中遇到的问题,如果你在团队工作其中定有不少配合方面的问题,其中的思路是可以借鉴的,因为这也许正是你们现在遇到的问题,总结的不好的地方还请多多指教 因为项目需求的确定,定位成了必不可少的 ...

  5. 对Fiddler设置【Decrypt HTTPS traffic】后火狐浏览器打开https【您的连接并不安全】的解决方法

    火狐浏览器在打开https页面的时候出现[您的连接并不安全]的提示页面: 在设置Fiddler的HTTPS解密的时候,会对下面图中的红线框的选项点击一次生成一个Fiddler 根证书在桌面上: 点击火 ...

  6. 条款40:明智而审慎地使用多重继承(use multiple inheritance judiciously)

    NOTE: 1.多重继承比单一继承复杂.它可能导致新的歧义性,以及对virtual继承的需要. 2.virtual 继承会增加大小 速度 初始化(及赋值)复杂度等等成本.如果virtual base ...

  7. fshc之请求仲裁机制(from mcu and cache)

    1.arbiter模块本身放在sclk时钟域,但是输入都是来之HCLK时钟域. 2.当MCU/CACHE访问FSHC时,FSHC不接受其他请求,FSHC只可以同时处理一个请求的操作. 3.如果原子操作 ...

  8. windows终端输入pip install requests报错:Fatal error in launcher

    emm今天群友发了个图,说他的pip报错,是这个问题 emmm这个问题我也不太懂,后来让他pip install requests这样操作,, 还是不管用,我寻思这个错咋回事,让他用  python  ...

  9. 递归函数&二分查找

    一.递归函数 1)定义 在函数中调用函数本身,就是递归 在python中递归的深度最大为1000,但实际达不到1000 def func(): print("-----func-----&q ...

  10. 在 shell中, 我們可用 $0, $1, $2, $3 ... 這樣的变量分別提取命令行中变量

    代码: script_name parameter1 parameter2 parameter3 ...我們很容易就能猜出 $0 就是代表 shell script 名称(路径)本身,而 $1 就是其 ...