字典创建的方式:

(1)d1 = {"k1":"v1","k2":"v2","k3":"v3"}
  (2)dic = dict(k1="v1",k2="v2",k3="v3")

字典是由键值对组成的,keys()代表所有的键,values()代表所有对应的值,items()是所有的键值对。

    1.get(self,key,d=None)

get(self,key,d=None)获取字典中指定键的值,get()是用来避免键不存在时候的错误,我们来看一个实例:

>>> dic = {'k3': 'v3', 'k1': 'v1', 'k2': 'v2'}
  >>> dic["k2"]
  'v2'
  >>> dic["k4"]
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  KeyError: 'k4'
    >>> a = dic.get("k4","not exit")
  >>> a
  'not exit'
    上面代码中,我们知道,如果使用dict[key]如果键key不存在,那么就会报错,KeyError,键不存在,get(self,key,d=None)就是避免这种情况出现的,我们知道,使用get()方法如果获取不到,默认返回的是None,但是我们也可以指定我们要求返回的值,上面返回的是,不存在键。

    2.pop(self,k,d=None)

pop(self,k,d=None)我们知道,字典是无序的,因此我们删除字典中元素的时候,必须告诉字典删除那个一元素。当这个键不存在的时候,默认返回的是None,我们也可以自己指定返回值。

>>> d1 = {'k3': 'v3', 'k1': 'v1', 'k2': 'v2'}
  >>> d1.pop("k3")
  'v3'
  >>> d1.pop("k4",666)
  666
    从上面代码可以看出,我们首先删除的是"k3",由于"k3"存在,因此删掉了键值对,接着我们删除"k4",由于"k4"不存在,我们指定了如果指定的键不存在,返回什么样的值。我们默认返回的是666.

    3.popitem(self)

popitem(self)随机删除字典中的元素。

>>> d1 = {'k1': 'v1', 'k2': 'v2'}
  >>> d1["k3"] = "v3"
  >>> d1.popitem()
  ('k3', 'v3')
  >>> d1.popitem()
  ('k1', 'v1')
    popitem(self)删除元素,随机删除字典中的键值对,随机的,popitem()

    4.setdefault(self,k,d=None)

setdefault(self,k,d=None)向字典中添加元素,默认如果没有指定键的话,就把值当做None。实例如下:

>>> d1 = {'k2': 'v2'}
  >>> d1.setdefault("k3")            (1)
  >>> d1 
  {'k3': None, 'k2': 'v2'}
  >>> d1.setdefault("k1","v1")
  'v1'
  >>> d1
  {'k3': None, 'k1': 'v1', 'k2': 'v2'}
    setdefault(self,k,d=None)是向字典中添加元素,如果没有指定值,默认为None,如上(1)处。

    5.update(self,E=None,**F)

>>> d1 = {'k3': None, 'k1': 'v1', 'k2': 'v2'}
  >>> d1.update(k5="v5")                                                                       (1)
  >>> d1
  {'k5': 'v5', 'k3': None, 'k1': 'v1', 'k2': 'v2'}
  >>> d1.update(k6="v6",k7="v7")
  >>> d1
  {'k5': 'v5', 'k7': 'v7', 'k3': None, 'k1': 'v1', 'k6': 'v6', 'k2': 'v2'}

>>> d1.update({"k11":"v11"})                                                                  (2)
  >>> d1
  {'k11': 'v11', 'k5': 'v5', 'k7': 'v7', 'k3': None, 'k1': 'v1', 'k6': 'v6', 'k2': 'v2'}

上面我们使用update()方法来更新字典,其实就相当于列表中的extend()的方法,以组的形式向字典中添加元素。使用update()向字典中添加元素有两种方式,如上(1)和(2),一种是以键值对(key-value)形式进行添加,还有一种是以字典的形式进行添加(key:value)。

day2 字典常用的方法的更多相关文章

  1. Python学习入门基础教程(learning Python)--8.3 字典常用的方法函数介绍

    本节的主要讨论内容是有关dict字典的一些常用的方法函数的使用和范例展示. 1. clear清除字典数据 语法结构如下: dict_obj.clear() 示例代码如下: dict1 = {'web' ...

  2. python中字典常用的方法

    #定义一个空字典: a={ } 定义一个字典: d={'age':18} #增加一个元素: d['age']=20   d[k]=v d.setdefault('age',18)    d.setde ...

  3. Python语言学习:字典常用的方法

    1. 增加:字典[key]=value(不存在的key和value) info={ 'stu1101':'TengLan', 'stu1102':'LuoZe', 'stu1103':'XiaoZe' ...

  4. python学习笔记:(七)dict(字典)常用的方法

    字典是通过名称来引用值的数据结构,这种类型的数据结构称为:映射. 字典是python中唯一的内建映射类型. 注意: 1.字典中键必须是唯一的,如果同一个键被赋值两次,会使用后一个值: 2.键必须不可变 ...

  5. Python - 基本数据类型及其常用的方法之字典和布尔值

    字典 特点:{"key1": value1, "key2":value2}  , 键值对中的值可以为任何数据类型,键不能为列表.字典(无法哈希),布尔值可以为键 ...

  6. day2 列表中常用的方法

    列表中有很多方法,下面来看看常用的方法,我们知道,字符串是以字符列表形式存储的.因此上面学习的字符串中的很多方法在列表中也有.     1.extend() extend()列表的扩展,把两个列表进行 ...

  7. WebAPi添加常用扩展方法及思维发散

    前言 在WebAPi中我们通常需要得到请求信息中的查询字符串或者请求头中数据再或者是Cookie中的数据,如果需要大量获取,此时我们应该想到封装一个扩展类来添加扩展方法,从而实现简便快捷的获取. We ...

  8. Objective-C中字典的使用方法总结

    在Objective-C中提供了两个类来实现字典,即NSDictionary和NSMutableDictionary.其中,NSMutableDictionary是NSDictionary的子类,它继 ...

  9. python_json常用的方法

    1. 什么是JSON? JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端 ...

随机推荐

  1. Codeforces Round #299 (Div. 2)A B C 水 dfs 二分

    A. Tavas and Nafas time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  2. python之numpy矩阵库的使用(续)

    本文是对我原先写的python常用序列list.tuples及矩阵库numpy的使用中的numpy矩阵库的使用的补充.结合我个人现在对线性代数的复习进度来不断更博. Section 1:行列式的计算 ...

  3. Latent Semantic Analysis(LSA/ LSI)原理简介

    LSA的工作原理: How Latent Semantic Analysis Works LSA被广泛用于文献检索,文本分类,垃圾邮件过滤,语言识别,模式检索以及文章评估自动化等场景. LSA其中一个 ...

  4. HDU 2157 How many ways?? 临接矩阵+快速幂

    Problem Description 春天到了, HDU校园里开满了花, 姹紫嫣红, 非常美丽. 葱头是个爱花的人, 看着校花校草竞相开放, 漫步校园, 心情也变得舒畅. 为了多看看这迷人的校园, ...

  5. HTML DOM 节点介绍(nodeName,nodeValue,nodeType)

    对于初学者来说,HTML DOM 里面的 nodeName.nodeValue 以及 nodeType 三个属性的作用和取值不是很清楚.下面整理的信息包含有关于节点的详细信息,供参考. 节点信息 每个 ...

  6. angular package.json中start build

    "start": "ng serve --host 0.0.0.0 --port 4200 --proxy-config proxy.conf.json", & ...

  7. centOS7 vsftp ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS) 启动失败问题?

    [root@localhost c]# systemctl status vsftpd.service ● vsftpd.service - Vsftpd ftp daemon Loaded: loa ...

  8. LOW逼三人组(三)----插入排序

    插入排序思路 插入排序算法: import random # 随机模块 import time def cal_time(func): # 装饰器 ,用来检测算法所执行的时间 def wrapper( ...

  9. Distance Gym - 102028I (思维)

    题目链接:https://cn.vjudge.net/problem/Gym-102028I 具体思路:首先我们选定左边界和右边界.然后每一次按照左边一个,第二次右边一个的规律往上就可以了 具体原因: ...

  10. discuz2.5登录后台闪退的解决办法

    今天突然发现discuz2.5论坛后台进不去,开始以为密码错了,但发现登录后也是闪退.我试着清除浏览器cookie,也换了其他浏览器也没有用,还是上网找找吧! discuz2.5进入后台闪退的原因: ...