博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(P25-P26)字典:映射与序列,字典的内置方法
阅读量:4299 次
发布时间:2019-05-27

本文共 1414 字,大约阅读时间需要 4 分钟。

文章目录

1.映射与序列

  • 字典是映射类型

    字典包含两个要素:键(key)和值(value)他们是成对出现的,用大括号括起来,多对存在时用逗号隔开
    在这里插入图片描述

  • 字符串,列表,元组都是序列类型

  • eg:如果是序列,也可以实现类似字典功能,但是很麻烦

    在这里插入图片描述

  • eg:直接使用字典,'李宁’称之为key,'一切皆有可能’称之为value,‘李宁’:‘一切皆有可能’称之为项

    在这里插入图片描述

  • 创建字典的方式

    创建空字典,help(dict)可以查询字典用法
    在这里插入图片描述
    只要构建一种映射关系就行,这里面使用元组(list也行)构造一种映射关系,除了key:value,还可以用key=value的关键字方式创建字典
    在这里插入图片描述
    用索引key赋值
    在这里插入图片描述

2.字典的内置方法

  • dict()是一个工厂函数,调用后会生成该类型的实例
>>> a = dict()>>> type(a)
  • fromkeys(…)
    dict. fromkeys(S[,v])
    fromkey()方法用于创建并返回一个新的字典。它有两个参数,第一个参数是字典的键;第二个参数是可选的,是传入键的值。如果不提供,默认是None
>>> dict1 = {
}>>> dict1.fromkeys((1,2,3)){
1: None, 2: None, 3: None}>>> dict2 = {
}>>> dict2.fromkeys((1,2,3),"Number"){
1: 'Number', 2: 'Number', 3: 'Number'}>>> dict3 = {
}>>> dict3.fromkeys((1,2,3),('one','two','three')){
1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}若想要修改key=1,3的值,下面的做法是有问题的,会重新创建一个字典出来dict1.fromkeys((1,3),'数字'){
1:'数字',3:'数字'}
  • 访问字典的方法有key()、values()和items()

    key()用于返回字典中的键,value()用于返回字典中所有的值,item()当然就是返回字典中所有的键值对(也就是项)
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  • dict1.get() 对应键的值不存在的话返回一个None,这样程序就不会报错

    None只是表示对象,什么都没有的对象
    dict1.get()比dict1[32]强势的地方
    在这里插入图片描述
    找不到值的时候,还可以返回一个具体的值
    在这里插入图片描述
    如果不知道一个键是否在字典中,可以使用成员资格操作符(in 或 not in)来判断。然而在序列中,查找的是元素的值,而不是索引号,字典查找的是key。
    在这里插入图片描述

  • clear()可清空一个字典

    注意不好的清空方式
    在这里插入图片描述

  • dict1.copy():浅拷贝

    id可以返回对象的地址
    深拷贝前后对象的地址是不一样的,赋值前后对象的地址是一样的(浅拷贝)。eg潜拷贝若增加字典c中的项,可以影响到a
    在这里插入图片描述

  • pop()是给定键弹出对应的值,popitem()是随机弹出一个项,因为字典是没有顺序的

    在这里插入图片描述

  • dict1.setdefault():找不到给定键对应的值话会自动在字典中创建一个基于该键的项

    (区别于dict1.get()的结果)
    在这里插入图片描述

  • dict1.update():根据一个字典或映射关系去更新另一个字典

    在这里插入图片描述

  • 参考:,,

转载地址:http://cliws.baihongyu.com/

你可能感兴趣的文章
LNMP 安装 thinkcmf提示404not found
查看>>
PHP empty、isset、innull的区别
查看>>
apache+nginx 实现动静分离
查看>>
通过Navicat远程连接MySQL配置
查看>>
phpstorm开发工具的设置用法
查看>>
Linux 系统挂载数据盘
查看>>
Git基础(三)--常见错误及解决方案
查看>>
Git(四) - 分支管理
查看>>
PHP Curl发送数据
查看>>
HTTP协议
查看>>
HTTPS
查看>>
git add . git add -u git add -A区别
查看>>
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>