python字典可以存储任意类型的对象,字典的每个键:值 冒号(:)分割,每个对直接逗号(,)分割,整个字典包含在{}中,例如:d = {key1 : value1, key2 : value2, key3 : value3 }

注:键是唯一的,值不一定,值可以是任何类型对象,键必须是不可变的,如字符串、数字

eg:

定义两个字典:

dict1 = {'time':'2021/1/28'}
dict2 = {'名字':'张三','学历':'本科','年龄':'20'}
1、字典的访问,有两种方式,添加修改
dict[key]的方式:返回可以键对应的值,如果'key'不存在,会提示key error
dict.get('key',default=None):返回指定key的值,如果键不在字典中返回 default 设置的默认值 ,这个方式如果按python指定的格式dict.get(key,default='')的方式会踩雷出错,直接设置default的值或者不按默认反而不会出错,
dict。setdefaul(key,default=None):如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
关于 :get()和setdefault()这两者的区别:主要在于当查找的键值 key 不存在的时候,setdefault()函数会返回默认值并更新字典,添加键值;而 get() 函数只返回默认值,并不改变原字典。
运行结果情况如下:

2、字典的删除:del  方法和 pop 方法

del  方法:del dict[key] 删除key及值,

pop 方法:pop(key[,default]) :删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。如果要删除的 key 不存在,则需要添加默认值,否则会报错

3、字典的其他应用:

  • 字典的删除:原始:dict1: {'time': '2021/1/28', 'date': '2021/1/29'}
dict1.clear() # 删除字典内所有元素
print(len(dict1),dict1) # 删除后的字典元素个数,字典
运行结果:0 {}
  • 字典的浅复制和直接复制,二者区别:

直接赋值:浅拷贝,会随这赋值的字典的修改而修改

dict.copy()的方法: 深拷贝父对象(一级目录),不拷贝子对象(二级目录)只是引用

  • fromkeys()函数创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。语法:

    dict.fromkeys(seq[, value]), 返回一个新的字典
    • seq -- 字典键值列表。
    • value -- 可选参数, 设置键序列(seq)对应的值,默认为 None。

  • key in dict :

    字典 in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false。

    而 not in 操作符刚好相反,如果键在字典 dict 里返回 false,否则返回 true。

  • items()方法语法:以列表返回可遍历的(键, 值) 元组数组,可以用list()来转换为列表
  • keys()方法语法:返回一个可迭代对象,可以使用 list() 来转换为列表。
  • values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。
  • update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。

python 字典的用法,访问、增删合并等的更多相关文章

  1. 【Python—字典的用法】创建字典的3种方法

    #创建一个空字典 empty_dict = dict() print(empty_dict) #用**kwargs可变参数传入关键字创建字典 a = dict(one=1,two=2,three=3) ...

  2. python字典操作用法总结

    基本语法: dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'} 技巧: 字典中包含列表:dict={'yangrong':['23',' ...

  3. 【Python—字典的用法】找到多个字典的公共键

    有 a,b,c,d,e,f 6名球员,他们在三轮比赛中的进球数用 s1,s2,s3 3个字典表示,找到每轮都有进球的球员? 创建 s1,s2,s3 3个字典素材 from random import ...

  4. Python字典 你必须知道的用法系列

    本文Python版本为3.7.X,阅读本文之前需了解python字典的基本用法. 介绍 字典(dict)是Python中内置的一个数据结构,由多个键值对组成,键(key)和值(value)用冒号分隔, ...

  5. python字典(dictionary)使用:基本函数code实例,字典的合并、排序、copy,函数中*args 和**kwargs做形参和实参

    python字典dictionary几个不常用函数例子 一.字典声明 如,d={}; d= {'x':1,'b':2} d1 = dict(x=1,y=2,z=3)     d2 = dict(a=3 ...

  6. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  7. Python dictionary 字典 常用法

    Python dictionary 字典 常用法 d = {} d.has_key(key_in)       # if has the key of key_in d.keys()          ...

  8. python 字典dict和列表list的读取速度问题, range合并

    python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...

  9. Python字典增删操作技巧简述

    Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些基础应用.比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技 ...

随机推荐

  1. [LeetCode]9. Palindrome Number判断回文数字

    /* 查看网上的思路有两种: 1.每次取两边的数,然后进行比较 2.取数的倒置数,进行比较 */ public boolean isPalindrome1(int x) { if (x<0) r ...

  2. 5. Longest Palindromic Substring最大回文子串

    int sta = 0; int max = 1; public String longestPalindrome(String s) { /* 判断回文有两种: 1.最大回文子序列求长度: 用动态规 ...

  3. 阿里云Ubuntu配置安装MQTT服务器

    先来说说mqtt协议: MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽.不可靠的网络的进行远程 ...

  4. FileZilla使用教程

    FileZilla使用教程和问题汇总 正式开始之前我还是想闲聊几句,毕竟调试解决这些问题,整整耗了我一天半的时间.前不久学校要求上交一个web大作业,然后我们宿舍就寻思光做出来前后端搞头不大,不如整个 ...

  5. TodoMVC Example知识点总结

    案例来自于vue.js的官方示例:https://cn.vuejs.org/v2/examples/todomvc.html,我在案例学习过程中,试着对其中的一些知识点进行记录: 一.浏览器数据存储, ...

  6. hadoop3.2+Centos7+5个节点主从模式配置

    准备工作: hadoop3.2.0+jdk1.8+centos7+zookeeper3.4.5 以上是我搭建集群使用的基础包 一.环境准备 master1 master2 slave1 slave2 ...

  7. linux的 复制 删除 解压 压缩 打包

    liunx 删除 删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 2 删除文件使用实例: r ...

  8. three.js canvas内场景生成图片 canvas生成图片

    第一种最简单的方法: 1 threeBox.render();//重点 解决拿到图片后为黑色 2 3 let src=threeBox.renderer.domElement.toDataURL(); ...

  9. Spring Boot 应用使用spring session+redis启用分布式session后,如何在配置文件里设置应用的cookiename、session超时时间、redis存储的namespace

    现状 项目在使用Spring Cloud搭建微服务框架,其中分布式session采用spring session+redis 模式 需求 希望可以在配置文件(application.yml)里设置应用 ...

  10. 为linux添加一块新硬盘并分区

    一---如何增加一块硬盘1:虚拟机添加硬盘2:分区3:格式化4:挂载5:设置可以自动挂载 1---设置里面 2---分区命令 fdisk /dev/sdb开始分区m显示命令列表p显示磁盘分区 同fdi ...