基础知识:

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. python之路——目录

    目录 python基础部分 基础部分 介绍.基本语法.流程控制 列表 元祖 字符串 字典 集合 文件操作 函数 变量 递归 迭代器,生成器,装饰器,Json和pickle 数据序列化 函数 初识函数 ...

  2. 设置与使用SQL Server的字符集(Collation,即排序规则)

    目录 目录 正确认识SQL Server的字符集 选择合适的SQL Server字符集 错误使用SQL Server的字符集 参考资料 正确认识SQL Server的字符集 SQL Server作为一 ...

  3. [BZOJ3307]:雨天的尾巴(LCA+树上差分+权值线段树)

    题目传送门 题目描述: N个点,形成一个树状结构.有M次发放,每次选择两个点x,y对于x到y的路径上(含x,y)每个点发一袋Z类型的物品.完成所有发放后,每个点存放最多的是哪种物品. 输入格式: 第一 ...

  4. Spring框架针对dao层的jdbcTemplate操作crud之delete删除数据库操作 Spring相关Jar包下载

    首先,找齐Spring框架中IoC功能.aop功能.JdbcTemplate功能所需的jar包,当前13个Jar包 1.Spring压缩包中的四个核心JAR包,实现IoC控制反转的根据xml配置文件或 ...

  5. UIScreen, UIWindow

    模仿书上或网上的例子,每次最开始就是 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: ...

  6. (23)zabbix单位符号Unit symbols

    概述 在zabbix里面,我们不需要使用大数字来,例如我们可以不使用86400来表示一天,这个数字又不容易理解也容易出错.用什么办法来解决大数字问题呢?我们可以使用单位来简化,例如简化zabbix触发 ...

  7. python3.x 多路IO复用补充asyncio

    asyncio模块是python之父写的模块,按说应该是靠谱的,python3.6版本定义为稳定版本. 说明书:https://docs.python.org/3/library/asyncio.ht ...

  8. 【js】【ios】【safari】【兼容问题】【转发】JS IOS/iPhone的Safari不兼容Javascript中的Date()问题

    引用地址:http://www.cnblogs.com/yiven/p/6053872.html   1 var date = new Date('2016-11-11 11:11:11'); 2 d ...

  9. 爬虫练习四:爬取b站番剧字幕

    由于个人经常在空闲时间在b站看些小视频欢乐一下,这次就想到了爬取b站视频的弹幕. 这里就以番剧<我的妹妹不可能那么可爱>第一季为例,抓取这一番剧每一话对应的弹幕. 1. 分析页面 这部番剧 ...

  10. LeetCode 673. Number of Longest Increasing Subsequence

    Given an unsorted array of integers, find the number of longest increasing subsequence. Example 1: I ...