字典

字典是Python唯一内建的数学映射类型,字典中的值没有特殊的顺序,键可以是数字,字符串,甚至是元组

字典的创建:

字典由键值对构成,字典中键是唯一的,而值不唯一。>>> a_map={"a":1,"b":2,"c":2}  >>> a_map["a"]

dict函数来创建字典:

>>> items=[('a','b'),(1,2)]  >>> a_map=dict(items) >>> a_map  {1: 2, 'a': 'b'}

>>> a_map=dict(a='b',c=12) >>> a_map  {'a': 'b', 'c': 12}

基本的字典操作:

(1)>>> len(mapa)返回字典中键值对的个数

(2)>>> mapa['a'] 返回关联到键k上的值

(3)>>> mapa['a']=2 将2关联到键a上(这一点与列表有很大的不同,在列表的索引号中这样不存在的不能直接赋值添加)

(4)>>> del(mapa['a']) 将键‘a’的键值对给删除了

(5)>>> 'b' in mapa 检查键‘b’ 是否在mapa中

字典的格式化字符串

>>> pho={'a':1,'b':2,'c':3}

>>> "diug is %(a)s" % pho

'diug is 1'

后面的那个s应该是说明那个是字符串的意思。

字典方法:

(1)clear()    >>> pho.clear()  >>> pho  {} 清空字典

(2)copy

浅复制(值没有被复制,替换时原始的字典不变,而修改时如移除值时,原始的字典也会跟着改变)和深度复制() from copy                import deepcopy

(3)fromkeys

使用给定的键创建新字典,默认值为‘none’

(4)get

更宽松的访问字典项的方法 >>> pho.get('a')

(5)has_keys

(6)items 和 iteritems 前者将所有的字典项以列表的形式返回,后者将返回迭代器对象

(7)keys和iterkeys 前者将字典中的键以列表形式返回,后者返回迭代器对象

(8)pop >>> pho.pop('a') 获得相应的给定键的值,并将键值对移除

(9)popitem 弹出随机的项

(10)setdefalt 类似于get 在字典中不含给定键的情况下设定相应的键值

(11)update d.update(s)   采用s来更新d,提供的字典项会被添加到新的字典中,其中相同的会被覆盖

(12)values 和 itervalues 以列表形式返回字典中的值

Python基础教程笔记——第4章:字典的更多相关文章

  1. Python基础教程笔记——第7章:更加抽象(类)

    下面进入Python的面向对象: 对象的魔力: 多态:---可以对不同类的对象使用同样的操作 封装:---对外部隐藏对象内部的工作方式 继承:---以普通的类为基础建立专门的类对象 (1)多态: is ...

  2. Python基础教程笔记——第6章:抽象(函数)

    (1)计算裴波那契数列: fbis=[0,1] num=int(input("please input the number")) for i in range(num-2): f ...

  3. Python基础教程笔记——第5章:条件,循环和其他语句

    5.1 print和import的更多信息 1. print()3.0之后print不再是语句,而是函数, >>> print('udg',12,13)   udg 12 13 &g ...

  4. Python基础教程笔记——第2章:列表和元组

    python shell 里重复上一次的命令:Alt+p 2.3 列表:Python的苦力 (1)list函数 (2)列表赋值,不蹦蹦为一个元素不存在的位置赋值 (3)删除元素,del name[1] ...

  5. Python基础教程笔记——第1章

    1.8 函数 pow(x,y) x^y abs(x)          取数的绝对值 round(x)   会把浮点数四舍五入为最接近的整数 floor(x)     向下取整的函数,但是需要先imp ...

  6. Python基础教程笔记——第3章:使用字符串

    字符串是不可修改的,标准序列操作(索引,分片,判断成员资格,求长度,取最大值 最小值)对字符串都是有效的. 格式化字符串,类似于C语言的输出是的感觉. >>> format=&quo ...

  7. python基础教程笔记—即时标记(详解)

    最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...

  8. python基础教程笔记—画幅好画(详解)

    今天写一下基础教程里面的第二个项目,主要使用python来做一个pdf的图,比较简单. 首先我们需要安装用到的模块pip install reportlab即可. 书上是用urlopen从往上下了一个 ...

  9. 《Python基础教程》第2章读书笔记(1)

    # -*- coding:utf-8 -*- #最基本的数据结构:序列,索引从0开始 #python包括6种内建的序列 #最常用的序列包括:列表,元祖 #列表 edward = ['Edward Gu ...

随机推荐

  1. 如何配置TomCat

    1.先查看你自己java的jdk的版本号 2.通过jdk版本号确定下载的Tomcat版本 ,因为我的是jdk 1.8的,所以要下载Tomcat 8版本 附上下载官网http://tomcat.apac ...

  2. Android如何用阿里云的API进行身份证识别

    准备工作:在libs下添加 alicloud-Android-apigateway-sdk-1.0.1.jar,commons-codec-1.10-1.jar 在build.gradle添加  co ...

  3. IOS开发之关于UIButton点击没有响应问题

    1.如果一个UIButton的frame超出父视图的frame,UIButton还是可以显现的,但响应不了点击事件了,当开发中,遇到UIButton点击没有响应问题时,我们需要输出btn及它父视图的f ...

  4. Linux OpenGL 实践篇-9 模型

    之前一直渲染箱子,显得有点单调.这一次我们绘制一个用艺术家事先用建模工具创建的模型. 本次实践参考:https://learnopengl-cn.github.io/03%20Model%20Load ...

  5. centos6上安装mysql8.0版本

    本博客是采用yum源的方式安装,非常的方便和快捷.(redhat 与centos7 等操作系统都可以采用此方法,步骤大体一致) mysql官网地址:   https://dev.mysql.com 开 ...

  6. C# 创建目录

    C#创建目录 var strpatj = HttpRuntime.AppDomainAppPath; if (!Directory.Exists(strpatj+"\\temp") ...

  7. Python3中的输入输出

    input()函数 我们可以通过Python3解释器查看Python3中input()的含义: >>> type(input) <class 'builtin_function ...

  8. 部署 k8s Cluster(上)[转]

    我们将部署三个节点的 Kubernetes Cluster. k8s-master 是 Master,k8s-node1 和 k8s-node2 是 Node. 所有节点的操作系统均为 Ubuntu ...

  9. QT5:总结篇 控件集合

    一.Layouts 二.Spacers 三.Buttons 四.Item Views(Model-Based) 五.Item Widgets(Item-Based) 六.Containers 七.In ...

  10. HDU1116(欧拉路径+并查集)

    题意: 给出一些字符串,有这两个字符串,如果第一个字符串的最后一个字母和第二个字符串的第一个字母是一样的,则这两个字符串是可以连接在一起的. 问给出的这些字符串能否串成一个环或者一整个链. 思路: 将 ...