字典-dict

  • 用途:

  • 定义方法:通过{} 来存储数据,通过key:value (键值对)来存储数据,每个键值对通过逗号分隔。在键值对中,key 是不可变的数据类型,value 是任意数据类型

    def dict_setd():
    # 第一种定义方式
    d1 = {'name': 'egon', 'age': 84}
    # 第二种定义方式
    d2 = dict({'name': 'egon', 'age': 84})
    # 第三种定义方式
    l1 = ['name', 'age']
    l2 = ['egon', 18]
    z1 = zip(l1, l2)
    d3 = dict(z1)
    # 打印定义的字典
    print(d1)
    print(d2)
    print(d3)
    dict_setd()

常用方法:

  • 按照key : value 映射关系取值,可存可取

    # 按照key:value映射关系取值,可存可取。
    def dict_getvalue():
    d1 = {'name': 'egon', 'age': 73}
    print(d1) # 取出d1 中的值
    # 当字典中存在key 时,修改value值,如果key 不存在,新增键值对
    d1['name'] = 'alex'
    d1['gender'] = 'male'
    print(d1)
    dict_getvalue()
  • 成员判断 in / not in ,返回布尔值

    # 成员运算in / not in:判断key 是否在字典中存在(不是判断value),返回布尔值
    def dict_in():
    d1 = {'name': 'egon', 'age': 73}
    print('egon' in d1)
    dict_in()
  • len:获取当前字典中键值对的个数

    # len:获取当前字典中键值对的个数
    def dict_len():
    d = {'name': 'alex', 'age': 73, 'gender': 'male'}
    print(len(d))
    dict_len()
  • get:获取指定key 的值,如果值不存在,默认返回None,可修改默认的返回值

    # get:获取指定key 的值,如果值不存在,默认返回None,可修改默认返回值
    def dict_get():
    d = {'name': 'alex', 'age': 73}
    print(d.get('gender')) # 结果None
    print(d.get('gender', 'male')) # 结果male
    dict_get()
  • keys,values,items:获取字典中的key,value,键值对

    # keys,values,items
    def dict_kvi():
    d = {'name': 'alex', 'age': 73}
    print(d.keys()) # 结果为:返回所有键的列表:['name','age']
    print(d.values()) # 结果为:返回所有值的列表:['alex',73]
    print(d.items()) # 结果为:返回所有的键值对,其中返回值是以列表套元组的形式体现,每一个键值对都存在元组中 # 根据键值对或者key 和value
    for key, value in d.items():
    print(key, value)
    dict_kvi()
  • pop:通过指定的key 弹出对应的键值对,返回值为键值对中的值

    # pop:删除,将指定的key 弹出,返回值为key 对应的value
    def dict_pop():
    d = {'name': 'alex', 'age': 73, 'gender': 'male'}
    a = d.pop('name')
    print(d) # 字典中不再有'name':'alex'这个键值对
    print(a) # 'name' 对应的值:alex
    dict_pop()
  • popitem:随机弹出一组键值对,返回值是以元组形式表示的键值对信息

    # popitem:随机将一组键值对弹出,返回值为以元组展示的键值对
    def dict_popitem():
    d = {'name': 'alex', 'age': 73, 'gender': 'male'}
    a = d.popitem()
    print(a)
    print(d)
    dict_popitem()
  • update:用新字典替换旧字典

    # update:用新字典替换就字典
    def dict_upd():
    d = {'name': 'alex', 'age': 73, 'gender': 'male'}
    d.update({'hobby':'read'}) # 当要替换的键值对不存在时,将该键值对添加到字典中
    d.update({'name':'egon'}) # 当要替换的键值对存在时,直接修改该键值对的值
    print(d)
    dict_upd()
  • fromkeys:生成一个新字典,需要两个参数。第一个参数必须是可迭代对象,这里会以可迭代对象中的元素依次作为字典中的key,第二个参数则为key 的value 值,组成一个新的字典

    # dict.fromkey:生成一个新字典,第一个参数为可迭代对象,将可迭代对象中的元素依次作为key ,
    # 第二个参数作为可迭代对象中元素的value ,组成一个新字典
    def dict_fromkey():
    print(dict.fromkeys([1,2,3],['ke','k1']))
    dict_fromkey()
  • setdefault:指定的key 存在时,不修改键值对的内容,并返回键值对的value 值;如果不存在,则将指定的key 和value 作为新的键值对增加到字典中,并返回该value

    # setdefault:字典中不存在指定的key 时,新增该键值对,并返回value;如果存在,不修改键值对,并返回value
    def dict_sd():
    d = {'name': 'alex', 'age': 73, 'gender': 'male'}
    print(d.setdefault("hobby","read"))
    print(d)
    print(d.setdefault("name","egon"))
    print(d)
    dict_sd()
  • 字典dict 是无序的、可变的、可存多个值的数据类型

python基础-字典dict的更多相关文章

  1. python基础——字典dict

    1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...

  2. python基础——字典(dict)

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...

  3. Python基础:字典(dict)与集合(set)

    查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...

  4. python基础之dict、set及字符

    python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...

  5. python基础——使用dict和set

    python基础——使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其它语言中也称为map(映射),使用键-值(key-value)存储,具 ...

  6. 第四篇:python基础之dict、set及字符

    python基础之dict.set及字符   python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射 ...

  7. python基础--字典

    Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...

  8. python基础—字典

    阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...

  9. python基础(六)dict字典和文件操作open

    字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...

随机推荐

  1. 短视频处理LanSoEditor-SDK之功能介绍

    短视频处理LanSoEditor-SDK之功能介绍  (注释: 我们的SDK每3周更新一次, 一下功能是在2.8.2版本上列出的,可能不是最新的功能, 请知悉) 和别家最大的不同在于: 别人提供功能, ...

  2. 07-简单认识margin

    margin 外边距,表示边框到最近盒子的距离. 对于左右两边 <!DOCTYPE html> <html lang="en"> <head> ...

  3. Case1-basic network framework/Related organization‘s name

    常见的计算机网络物理拓扑结构: 1.星型网 2.树型网 3.分布式网络 4.总线型网 5.环型网 6.复合型网络 计算机网络相关的标准化组织: 国际标准化组织(ISO):International O ...

  4. THINKPHP 中关联查询(多表查询)

    THINKPHP 中关联查询(多表查询)可以使用 table() 方法或和join方法,请看示例: 1.Table方法:定义要操作的数据表名称,可以动态改变当前操作的数据表名称,需要写数据表的全名,包 ...

  5. 品Spring:对@PostConstruct和@PreDestroy注解的处理方法

    在bean的实例化过程中,也会用到一系列的相关注解. 如@PostConstruct和@PreDestroy用来标记初始化和销毁方法. 平常更多的是侧重于应用,很少会有人去了解它背后发生的事情. 今天 ...

  6. Laravel Entrust 权限管理扩展包的使用笔记

    简介 Entrust 是一个简洁而灵活的基于角色进行权限管理的 Laravel 扩展包.针对 Laravel 5,官方推荐的安装版本是 5.2.x-dev.它的详细使用方法请查看 Entrust Gi ...

  7. texlive支持中文的简单方法

    1.确保tex文件的编码方式是UTF-8, 2.在文档开始处添加一行命令即可,即 \usepackage[UTF8]{ctex} , 如下所示: \documentclass{article} \us ...

  8. 安装web3失败问题

    ① 首先可以先通过 npm cache verify 清理下缓存,在进行安装 ② 如果还是安装失败可以尝试 ---   npm install web3@^0.20.0  或者 npm install ...

  9. 05-04 scikit-learn库之主成分分析

    目录 scikit-learn库之主成分分析 一.PCA 1.1 使用场景 1.2 代码 1.3 参数 1.4 属性 1.5 方法 二.KernelPCA 三.IncrementalPCA 四.Spa ...

  10. centos8安装图解

    CentOS 8 的新特性 DNF 成为了默认的软件包管理器,同时 yum 仍然是可用的 使用网络管理器(nmcli 和 nmtui)进行网络配置,移除了网络脚本 使用 Podman 进行容器管理 引 ...