Dict的功能介绍

1. 字典的两种函数(方法)

1. 字典的内置函数

  1. 包含关系

    格式:x.__contains__(key)等同于key in x
    例如:dic = {'ab':23,'cd':34,}
    print(dic.__contains__('ab'))
    >>> True
    返回值:bool
    #只能判断字典的键
  2. 删除字典指定键的键值对

    格式:x.__delitem__(key)等同于del x[key]
    例如:dic = {'ab':23,'cd':34,}
    dic.__delitem__('ab'))
    print(dic)
    >>> {'cd':34}
    返回值:None
    #直接修改原字典
  3. 判断两个字典是否相等

    格式:x.__eq__(y)等同于x==y
    例如:dic = {'ab':23,'cd':34,}
    print(dic.__eq__({}))
    >>> False
    返回值:bool
    #上述的y只能是字典
  4. 判断是否大于等于

    格式:x.__ge__(y)等同于x>=y
    返回值:bool
    #字典没有该方法
  5. 访问属性

    格式:x.__getattribut__(self,name)
    返回值:tuple
  6. 获取指定键的值

    格式:x.__getitem__(key)等同于x[key]
    例如:dic = {'ab':23,'cd':34,}
    print(dic.__getitem__('ab'))
    >>> 23
    返回值:object
  7. 判断是否大于

    格式:x.__gt__(y)等同于:x>y
    返回值:bool
    #字典没有该方法
  8. 构造方法

    格式:x.__init__(dict())
    例如:dic = {1:3,2:4,}
    dic.__init__(dict())
    print(dic)
    >>> {1: 3, 2: 4}
    返回值:None
  9. 迭代器

    格式:x.__iter__()等同于iter(x)
    返回值:迭代器
  10. 判断是否小于等

    格式:x.__le__(y)等同于x<=y
    返回值:bool
    #字典没有该方法
  11. 长度

    格式:x.__len__()等同于len(x)
    返回值:int
  12. 判断是否小于

    格式:x.__lt__(y)等同于x<y
    返回值:bool
    #字典没有该方法
  13. 判断是否不等于

    格式:x.__ne__(y)等同于x!=y
    返回值:bool
  14. 创建新字典

    格式:x.__new__(dict)
    例如:dic = {'a':3,'b':4,}
    print(dic.__new__(dict))
    >>> {}
    返回值:dict
  15. 内置转换方法

    格式:x.__repr__(self)
    返回值:dict
  16. 新增一对键值对或修改指定key的值

    格式:x.__setitem__(key,value)等同于x[key]=value
    例如:dic = {'a':3,'b':4,}
    dic.__setitem__('c',5)
    dic.__setitem__('c',9)
    print(dic)
    >>> {'b': 4, 'c': 9, 'a': 3}
    返回值:None
  17. 字典在内存中大小,转换为字节进行计算

    格式:x.__sizeof__()
    例如:dic1 = {'a':3,'b':4,}
    dic2 = {2:4}
    print(dic1.__sizeof__())
    >>> 264
    print(dic2.__sizeof__())
    >>> 264
    返回值:int
    #字典长度和内容的不同,不影响字典在内存中的大小。

2. 字典的常用函数

  1. 清空字典

    格式:x.clear()
    例如:dic = {'a':3,'b':4,}
    dic.clear()
    print(dic)
    >>> {}
    返回值:None
  2. 复制

    格式:x.copy()
    例如:dic = {'a':3,'b':4,}
    print(dic.copy())
    >>> {'a':3,'b':4}
    返回值:dict
  3. 新建字典并指定字典值

    格式:x.fromkeys(iterable,value=None)
    例如:dic = {'a':3,'b':4,}
    print(dic.fromkeys('cde'))
    >>> {'c':None,'d':None,'e':None}
    print(dic.fromkeys('de',12))
    >>> {'d':12,'e':12}
    返回值:dict
  4. 获取指定键的值

    格式:x.get(key)
    例如:dic = {'a':3,'b':4,}
    print(dic.get('a'))
    >>> 3
    返回值:object
  5. 获取字典所有的键值对

    格式:x.items()
    例如:dic = {'a':3,'b':4,}
    print(dic.items())
    >>> dict_items([('b', 4), ('a', 3)])
    返回值:list
    #把字典所有的键值对以列表的元祖的形式表示
  6. 获取字典所有的键

    格式:x.keys()
    例如:dic = {'a':3,'b':4,}
    print(dic.keys())
    >>> dict_keys(['b', 'a'])
    返回值:list
    #把字典所有的键以列表元素的形式表示
  7. 移除指定键的值

    格式:x.pop(key)
    例如:dic = {'a':3,'b':4,}
    print(dic.pop('a'))
    >>> 3
    返回值:object
    #删除原字典中指定键的值,并返回删除的值
  8. 随机删除键值对

    格式:x.popitem()
    例如:dic = {'a':3,'b':4,}
    print(dic.popitem())
    >>> {'a':3}
    返回值:tuple
    #随机删除一个键值对,并以元祖的形式返回删除的键值对
  9. 设置字典默认值

    格式:x.setdefault(key,value=None)
    例如:dic = {'a':3,'b':4,}
    print(dic.setdefault('c'))
    >>> None
    #没有设置值的默认值,则新增的键'c'默认值为None
    print(dic.setdefault('d',9))
    >>> 9
    #当设置默认值时,新增的键'd'的值则为设置的9,返回值则为设置的值9
    返回值:object
  10. 更新字典

    格式:x.update(y)
    例如:dic = {'a':3,'b':4,}
    dic.update({'c':1})
    print(dic)
    >>> {'a':3,'b':4,'c':1}
    返回值:None
    #在原字典的基础上再合并一个字典
  11. 获取字典所有的值

    格式:x.values()
    例如:dic = {'a':3,'b':4,}
    print(dic.values())
    >>> dict_values([4, 3])
    返回值:list
    #把字典所有的值以列表元素的形式表示

2. 字典的操作

1. 字典的基本操作

  1. 访问

    格式:dict[key]
    返回值:object
  2. 修改

    格式:dict[key] = value
    返回值:None
  3. 删除

    格式:del dict[key]
    返回值:None
  4. 添加

    格式:dict[key] = value
    返回值:None
    #添加和修改格式都一样,只是添加使用的是新的键,修改使用的是存在的键

2. 字典的遍历操作

使用for...in 遍历字典

   1. 不使用字典函数的遍历

        格式:for variable in dict:
使用variable
例如:dic = {'a':3,'b':5,}
for i in dic:
print(i)
>>> a
>>> b
返回值:字典的key
2. 使用函数key()遍历字典的键 格式:for variable in dict.keys():
使用variable
例如:dic = {'a':3,'b':5,}
for i in dic.keys():
print(i)
>>> a
>>> b
返回值:字典的key
#效果与省略函数keys()的效果一样
3. 使用函数values()遍历字典的值 格式:for variable in dict.values():
使用variable
例如:dic = {'a':3,'b':5,}
for i in dic.values():
print(i)
>>> 3
>>> 5
返回值:字典的values
4. 使用函数items()遍历字典的键值对 格式:for variable1,variable2 in dict.items():
使用variable1,variable2
例如:dic = {'a':3,'b':5,}
for i,j in dic.items():
print(i,j)
>>> a 3
>>> b 5
返回值:字典的键值对,两个变量分别对应字典的键和值

3. 字典的推导式

  1. 返回值为集合的推导式

    1.格式:{variable for variable in dict}
    例如:dic = {'a':3,'b':5,}
    print({i for i in dic})
    >>> {'a','b'}
    返回值:set
    #把字典所有的key,组建成一个集合
    2.格式:{variable for variable in dict.keys()}
    例如:dic = {'a':3,'b':5,}
    print({i for i in dic.keys()})
    >>> {'a','b'}
    返回值:set
    #把字典所有的key,组建成一个集合
    3.格式:{variable for variable in dict.values()}
    例如:dic = {'a':3,'b':5,}
    print({i for i in dic.values()})
    >>> {3,5}
    返回值:set
    #把字典所有的value,组建成一个集合

    注:字典推导式也可以有带判断和多字典的导式,这里不再一一举例。

  2. 返回值为字典的推导式

    格式:{variable2:variable1 for variable1,variable2 in dict.items()}
    例如:dic = {'a':3,'b':5,}
    print({v:k for k,v in dic.items()})
    >>> {3: 'a', 5: 'b'}
    返回值:dict
    #字典推导式把键和值互换
  3. 稍作修改的字典推导式

    格式:{variable2:(variable1+'*') for variable1,variable2 in dict.items()}
    例如:dic = {'a':3,'b':5,}
    print({v:(k+'*') for k,v in dic.items()})
    >>> {3: 'a*', 5: 'b*'}
    返回值:dict
    #字典推导式把键和值互换,并进行修改
  4. 多个字典推导式

    格式:{(k1+k2):(v1+v2) for k1,v1 in dict1.items() for k2,v2 in dict2.items()}
    例如:dict1 = {'a':3,'b':5,}
    dict2 = {'c':10,'d':20,}
    print({(k1+k2):(v1+v2) for k1,v1 in dict1.items() for k2,v2 in dict.items()})
    >>> {'ad': 23, 'bd': 25, 'ac': 13, 'bc': 15}
    返回值:dict
  5. 带判断条件的多字典推导式

    格式:{(k1*v2):(k2*v1) for k1,v1 in dict1.items() for k2,v2 in dict2.items() if 条件表达式}
    例如:dict1 = {'a':3,'b':5,}
    dict2 = {'c':10,'d':20,}
    print({(k1*v2):(k2*v1) for k1,v1 in dict1.items() for k2,v2 in dict.items() v1 <15 and v2 < 15})
    >>> {'bbbbbbbbbb': 'ccccc', 'aaaaaaaaaa': 'ccc'}
    返回值:dict

Python中dict的功能介绍的更多相关文章

  1. Python中list的功能介绍

    List的功能介绍 1. 列表的两种方法 1. 列表的内置方法 列表的相加 格式:x.__add__(y)等同于x+y 例如:list1 = [1,2,3] print(list1.__add__([ ...

  2. Python中set的功能介绍

    Set的功能介绍 1.集合的两种函数(方法) 1. 集合的内置函数 交集 格式:x.__and__(y)等同于x&y 例如:s1 = {'a',1,} s2 = {'b',1,} s3 = { ...

  3. Python中tuple的功能介绍

    Tuple的功能介绍 1. 元祖的两种方法 1. 元祖的内置方法 两个元祖的相加 格式:x.__add__(y)等同于x+y 例如:tu1 = (1,2,3,) print(tu1.__add__(( ...

  4. Python中dict详解

    from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...

  5. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客

    python中multiprocessing.pool函数介绍_正在拉磨_新浪博客     python中multiprocessing.pool函数介绍    (2010-06-10 03:46:5 ...

  6. laravel框架中超实用的功能介绍

    本篇文章给大家带来的内容是关于laravel框架中超实用的功能介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 让lumen的dd() dump()像laravel一样优雅 1 c ...

  7. Docker 中的网络功能介绍 外部访问容器 容器互联 配置 DNS

    Docker 中的网络功能介绍 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/network/ Docker 允许通过外部访问 ...

  8. python中int的功能简单介绍

    Int的功能介绍 1. 绝对值 x.__abs__()等同于abs(x) 2. 加法 x.__add__(y)等同于x+y 3. 与运算 x.__and__(y)等同于x&y 4. 布尔运算 ...

  9. python中的元类介绍

    类也是对象 在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段,在python中也是成立的. class ObjectCreator: pass my_object = ObjectCre ...

随机推荐

  1. nyoj 回文字符串

    回文字符串 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当 ...

  2. 集合Collection总览

    前言 声明,本文使用的是JDK1.8 从今天开始正式去学习Java基础中最重要的东西--->集合 无论在开发中,在面试中这个知识点都是非常非常重要的,因此,我在此花费的时间也是很多,得参阅挺多的 ...

  3. JAVA_SE基础——62.String类的构造方法

    下面我先列出初学者目前用到的构造方法 String 的构造方法:     String()  创建一个空内容 的字符串对象.   String(byte[] bytes)  使用一个字节数组构建一个字 ...

  4. nodeJS基于smtp发邮件

    邮件的协议smtp是tcp/ip族中的一个协议,所以我们这次考虑使用net模块来发送邮件. const net = require('net') const assert = require('ass ...

  5. 深入了解GOT,PLT和动态链接

    之前几篇介绍exploit的文章, 有提到return-to-plt的技术. 当时只简单介绍了 GOT和PLT表的基本作用和他们之间的关系, 所以今天就来详细分析下其具体的工作过程. 本文所用的依然是 ...

  6. Python学习之条件判断和循环

    #coding= utf-8 # 条件判断和循环 # 如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做 age1 = 20 if age1 >= 18: prin ...

  7. Django实现发邮件

    1 首先去自己的邮箱申请,在设置里面找,申请开通smtp服务,我用的是163邮箱 2 在项目下settings.py中添加设置: # 配置邮箱发邮件的相关功能 #这一项是固定的 EMAIL_BACKE ...

  8. [Luogu1801] 黑匣子 - Treap

    Description Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个Black Box要处理一串命令. 命 ...

  9. python基础-循环

    循环 循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直 ...

  10. flask +gevent+nginx+Gunicorn+supervisor部署flask应用

    上篇   可以完美部署flask ,但是视乎在结合gevent+apscheduler 实现异步非阻塞后台和定时任务的时候视乎不是那么完美.请教了前辈,决定使用flask+gevent+nginx+g ...