文章目录

  • 定义:key必须是不可变类型,value可以是任意类型
  • 操作
    • 1.按key存取value:
    • 2.长度len
    • 3.成员运算in和 not in(针对keys)
    • 4.删除
      • del删除
      • .pop()删除
    • 5.键keys(),值values(),键值对items()
    • 6.循环
    • 7.更新update
    • 8.字典形式传值: "**"+字典,传值

#字典作用:存多个值,key-value存取,取值速度快

定义:key必须是不可变类型,value可以是任意类型

info1={'name':'egon','age':18,'sex':'male','a':{2:'d','ad':('d'),(54):[12,434,56]}} #本质info=dict({....})
print(info1)
#或
info2=dict(name='egon',age=18,sex='male')
print(info2)
#或
info3=dict([['name','egon'],('age',18)])
print(info3)
#或
{}.fromkeys(('name','age','sex'),None)

{‘name’: ‘egon’, ‘age’: 18, ‘sex’: ‘male’, ‘a’: {2: ‘d’, ‘ad’: ‘d’, 54: [12, 434, 56]}}
{‘name’: ‘egon’, ‘age’: 18, ‘sex’: ‘male’}
{‘name’: ‘egon’, ‘age’: 18}

{‘age’: None, ‘name’: None, ‘sex’: None}

{}.fromkeys(('name','age','sex'),(1,2,3))

{‘age’: (1, 2, 3), ‘name’: (1, 2, 3), ‘sex’: (1, 2, 3)}

操作

1.按key存取value:

a = info1['age']
print(a)
b = info1['a'][54][1]
print(b)

18
434

2.长度len

print(len(info1))
print(len(info2))
print(len(info3))

4
3
2

3.成员运算in和 not in(针对keys)

print('ses' in info1)
print('sex' in info1)

False
True

4.删除

del删除

print(info1)
del info1['a'][54][1]
print('del 删除:',info1)

{‘name’: ‘egon’, ‘age’: 18, ‘sex’: ‘male’, ‘a’: {2: ‘d’, ‘ad’: ‘d’, 54: [12, 434, 56]}}
del 删除: {‘name’: ‘egon’, ‘age’: 18, ‘sex’: ‘male’, ‘a’: {2: ‘d’, ‘ad’: ‘d’, 54: [12, 56]}}

.pop()删除

info1.pop('e','18888')#“k[,d]”表示当需要删除的键不存在的时候,返回'18888'
print(info1)
info1.pop('name','18888')
print('.pop()删除:',info1)

{‘name’: ‘egon’, ‘age’: 18, ‘sex’: ‘male’, ‘a’: {2: ‘d’, ‘ad’: ‘d’, 54: [12, 56]}}
.pop()删除: {‘age’: 18, ‘sex’: ‘male’, ‘a’: {2: ‘d’, ‘ad’: ‘d’, 54: [12, 56]}}

5.键keys(),值values(),键值对items()

#字典特有的方法
print(info1.__dir__())

[‘repr’, ‘hash’, ‘getattribute’, ‘lt’, ‘le’, ‘eq’, ‘ne’, ‘gt’, ‘ge’, ‘iter’, ‘init’, ‘len’, ‘getitem’, ‘setitem’, ‘delitem’, ‘contains’, ‘new’, ‘sizeof’, ‘get’, ‘setdefault’, ‘pop’, ‘popitem’, ‘keys’, ‘items’, ‘values’, ‘update’, ‘fromkeys’, ‘clear’, ‘copy’, ‘doc’, ‘str’, ‘setattr’, ‘delattr’, ‘reduce_ex’, ‘reduce’, ‘subclasshook’, ‘init_subclass’, ‘format’, ‘dir’, ‘class’]

6.循环

for items in info1:print(items)

age
sex
a
k1

7.更新update

print('未更新前:',info1)#未更新前
info1.update(k1=123, sex= 'female')
print('更新过后:', info1)

未更新前: {‘age’: 18, ‘sex’: ‘male’, ‘a’: {2: ‘d’, ‘ad’: ‘d’, 54: [12, 56]}}
更新过后: {‘age’: 18, ‘sex’: ‘female’, ‘a’: {2: ‘d’, ‘ad’: ‘d’, 54: [12, 56]}, ‘k1’: 123}

8.字典形式传值: “**”+字典,传值

template = "I am {name}, age:{age}"
#可以用.format()形式传入
v = template.format(**{'name':'abc','age':19})
print(v)

I am abc, age:19

lesson6 字典相关推荐

  1. Go 学习笔记(67)— Go 并发安全字典 sync.Map

    1. 并发不安全的 map Go 语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 换句话说,在同一时间段内,让不同 goroutine 中的代码,对同一个字典进行读写操作是 ...

  2. Python 将字符串转为字典

    引言 在工作中遇到一个小问题,需要将一个 Python 的字符串转为字典,比如字符串: user_info = '{"name" : "john", " ...

  3. 【C#】集合_哈希表_字典_泛型_文件

    数组能做到:存放同种类型数据,且数据个数确定 object类型的数组能满足:放各种类型的数据,确定放多少个,但是随意插入元素,数组做不到 集合能做到:存放各种数据类型,且不确定存放多少个,能做到随意插 ...

  4. Python两个字典键同值相加的几种方法

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Jerry_1126/article/d ...

  5. pytorch 状态字典:state_dict 模型和参数保存

    pytorch 中的 state_dict 是一个简单的python的字典对象,将每一层与它的对应参数建立映射关系.(如model的每一层的weights及偏置等等) (注意,只有那些参数可以训练的l ...

  6. Python 字典(Dictionary) get()方法

    Python 字典(Dictionary) get()方法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: ...

  7. python 把2个列表或者2个元组转成字典

    python 把2个列表或者2个元组转成字典 使用映射的方法即可 语法如下: 字典 = dict(zip(list1,list2)) 说明: zip 是将2个列表或者2个元组合并 list1 是字典的 ...

  8. python 在字典插入值和修改字典value值的方法

    字典插入值 使用update是字典增加内容 dict_a = {"a": "1", "b": "2", "c& ...

  9. python 字典 的pop 方法

    python 字典pop 方法的作用: 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值 字典pop 的语法: pop(key[,default]) demo 练习字典po ...

最新文章

  1. Windows 2008 R2+iis7.5环境下Discuz!X3论坛伪静态设置方法
  2. 基于TLD2331完成动态LED显示驱动
  3. HighNewTech:18.11.07—第五届世界互联网大会—互联网届的奥斯卡大奖—15张PPT见证15项世界互联网领先科技成果
  4. kafka技术内幕(二)
  5. 神兽来了服务器维护,20191204维护公告解读
  6. Panorama Viewer – jQuery 360度全景展示插件
  7. Mybatis源码分析之(五)mapper如何将数据库数据转换成java对象的
  8. arduino光敏+LED+数码管+蜂鸣器综合实验
  9. mysql工具——mysqlcheck(MYISAM)
  10. 高分四号(GF4)——预处理(辐射定标、大气校正、正射校正、图像配准)
  11. 使用harviewer显示har文件
  12. winpe iso镜像下载(exe转iso获取)
  13. day04-selenium滚动和常见反爬
  14. python实训报告怎么写_python实验报告
  15. 计算机专业我的理想作文,我的理想经典优秀作文
  16. 【Unity】模拟果冻效果(有碰撞)——JellySprites插件使用教程
  17. 一种下载Nvidia旧版本显卡驱动的方法(在知道版本号的前提下)
  18. From blockchain consensus back to Byzantine consensus
  19. 【深度学习】如何封装可维护的restiful api
  20. 坚石加密锁应用方法技巧简介

热门文章

  1. java 人脸检测_Java+OpenCV实现人脸检测并自动拍照
  2. 社会化图标html,[CSS]响应式社会化分享按钮
  3. linux inotifywait脚本,使用inotify/fswatch构建自动监控脚本
  4. 画时域随机信号波形_【鼎阳硬件智库原创︱测试测量】任意波形发生器的基本输出波形及其相关参数...
  5. 天才基本法_强推|高人气合集狙击蝴蝶天才基本法春日玛格丽特难哄
  6. 苹果手机声音突然变小是怎么回事_苹果7通话声音小,苹果7听筒声音小怎么回事...
  7. nginx 限制上传文件大小
  8. Centos 利用yum源安装 nginx 1.20.1
  9. mysql xa 和普通事务_一文看懂MySQL中基于XA实现的分布式事务
  10. uboot修改linux源码中参数,将自定义参数从uboot传入kernel的并读取的方法【转】