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. Hi,这里是我的2020年,请查收!

    Part 1. 回顾 还记得新年第一天,我在刚租的房子给自己做了一顿咖喱饭 (不好意思放照片...),然后回顾并展望了一下自己的 2020. 转眼间,2020 就过去了. 总的来说,今年小目标 (比如 ...

  2. Head First 设计模式 —— 05. 单例模式

    全局变量的缺点 如果将对象赋值给一个全局变量,那么必须在程序一开始就创建好对象 P170 和 JVM 实现有关,有些 JVM 的实现是:在用到的时候才创建对象 思考题 Choc-O-Holic 公司使 ...

  3. Mysql中varchar类型的猫腻!

    varchar的存储规则 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节). 5.0版本以上,varchar(20),指的是20字符,无论存 ...

  4. C#扫盲篇(四):.NET Core 的异步编程-只讲干货(async,await,Task)

    关于async,await,task的用法和解释这里就不要说明了,网上一查一大堆.至于为啥还要写这篇文章,主要是其他文章水分太多,不适合新手学习和理解.以下内容纯属个人理解,如果有误,请高手指正.本文 ...

  5. 剑指offer 面试题10.1:青蛙跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 编程思想 对于本题,前提只有 一次 1阶或者2阶的跳法.a.如果两种跳 ...

  6. 【Python】简单的脚本,轻松批量修改文件名称

    使用python脚本,批量修改文件夹名称 先创建一些没用的案例文件 import os #创建新文件夹 dir = os.makedirs('D:\\SomeThing\\testfile') #将文 ...

  7. 【Oracle】表空间配额问题

    由于需求,需要新建用户,但是新建的用户,会有相关的配额跟着,莫名其妙的问题让人很头疼 下面介绍下如何修改成不限制配额 select * from user_ts_quotas ; alter user ...

  8. C/C++内存对齐详解

    1.什么是内存对齐 还是用一个例子带出这个问题,看下面的小程序,理论上,32位系统下,int占4byte,char占一个byte,那么将它们放到一个结构体中应该占4+1=5byte:但是实际上,通过运 ...

  9. P2327 [SCOI2005]扫雷(递推)

    题目链接: https://www.luogu.org/problemnew/show/P2327 题目描述 相信大家都玩过扫雷的游戏.那是在一个$n*m$的矩阵里面有一些雷,要你根据一些信息找出雷来 ...

  10. Sentinel上下文创建及执行

    Sentinel上下文创建及执行,入口示例代码: public static void fun() { Entry entry = null; try { entry = SphU.entry(SOU ...