一、字典  dict

info = {"k1" : "v1", "k2" : "v2"}

以键值对形式组成字典

字典里的value可以是任何值

列表不能作为字典的key

字典可以作为字典的key

元组可以作为字典的key

布尔值可以作为字典的key  但是重复的key只会显示一个,True容易和数字1重复,需注意!

字典是无序的

字典支持索引取值,但不支持切片

info = {

"k1": 18,

2 : True,

"k3": [

"li",

[],

(),

22,

33,

{

"kk1": "vv1", "kk2": "vv2", "kk3": (11, 22)

}

],

"k4": (11, 22, 33, 44)

}

v = info["k1"]

print(v)

info = {

"k1": 18,

2 : True,

"k3": [

"li",

[],

(),

22,

33,

{

"kk1": "vv1", "kk2": "vv2", "kk3": (11, 22)

}

],

"k4": (11, 22, 33, 44)

}

v = info["k3"][5]["kk3"][0]

print(v)

注意:通过索引key值去找value的话,如果该key不存在,会报错。

支持del删除

del info['k1']

支持for 循环

1.输出所有keys

info = {"k1": "v1", "k2": "v2"}

for item in info.keys():

print(item)

2.输出所有values值

info = {"k1": "v1", "k2": "v2"}

for item in info.values():

print(item)

3. 同时输出keys和values:

info = {"k1": "v1", "k2": "v2"}

for item in info.keys():

print(item, info[item])

或(这个更重要)items 方法

info = {"k1": "v1", "k2": "v2"}

for k, v in info.items():

print(k, v)

二、字典的魔法

1. 该方法和前面相同不再赘述:clear  copy (浅拷贝)

2. 根据序列(可以是列表、元组、字符串等),创建字典,并指定统一的值

v = dict.fromkeys(["k1", 123, "999"], "爱你")

print(v)

3. get方法,如果传入的key不存在,默认返回None,也可以指定返回值

dic = {"k1": "v1"}

v = dic.get("k1")

v2 = dic.get("大白", "不存在")

print(v, v2)

4. pop删除,当要删除的key不存在时,返回指定内容

dic = {"k1": "v1",

"k2": "v2"

}

v1 = dic.pop("k1")

v2 = dic.pop("k3", "不存在哦亲")

print(dic)

print(v1)

print(v2)

5. 随机删除一个,返回被删除的键和值

dic = {"k1": "v1",

"k2": "v2"

}

v = dic.popitem()

print(dic, v)

dic = {"k1": "v1",

"k2": "v2"

}

k, v = dic.popitem()

print(dic, k, v)

6.设置值,如果已经存在,不设置,获取当前key对应的值

如果不存在,设置,获取当前key对应的值

dic = {"k1": "v1",

"k2": "v2"

}

v = dic.setdefault("大白", "123")

v2 = dic.setdefault("k1", "11111111")

print(dic, v)

print(dic, v2)

7. 更新字典

dic = {"k1": "v1",

"k2": "v2"

}

dic.update({"k1": "11111", "k3": "liu"})

print(dic)

或者

dic = {"k1": "v1",

"k2": "v2"

}

dic.update(k1=123, k3 = 345)

print(dic)

重要:keys()  values()  items()  get  update

补充:

in dic 默认找的是key

in dic.values() 能找到values

dic = {"k1": "v1",

"k2": "v2"

}

v = "k1" in dic

v2 = "v1" in dic.values()

print(v)

print(v2)

布尔值:在内存中就表现为0和1

转换:bool(...)

以下情况为假:None   ""   ()   []   {}  0   ====>False

python课堂_python课堂整理6---字典相关推荐

  1. python干货_Python干货整理,从入门说起(7.4)

    先引用一篇关于"神奇Python"的相关介绍的文章来热热身,引用文章:Python 有那么神吗? Python的确挺神的~但不是生来就那么神.Python是在1991年被创造出来的 ...

  2. python编程入门与案例详解-Python程序设计案例课堂

    Python程序设计案例课堂 第Ⅰ篇 基础知识 1 揭开Python神秘面纱 1.1 什么是Python 1.2 Python的优点和特性 1.2.1 Python的优点 1.2.2 Python的特 ...

  3. python加入中小学课程_【python即将进入中学课堂,编程从小抓起,竟然在这几点上应验了】- 环球网校...

    [摘要]我们都知道,不论是我们使用的app,还是各种各样的游戏,小程序,都离不开编程软件的贡献,其中python占据了半壁江山,随着大家对python的重视,python即将进入中学课堂,这究竟是好是 ...

  4. 计算机毕业设计Python+uniapp学生课堂考勤小程序(小程序+源码+LW)

    计算机毕业设计Python+uniapp学生课堂考勤小程序(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ pyth ...

  5. 电分、模电、数电总复习之爱课堂题目概念整理

    本文模电数电部分转载自博客园_模电数电爱课堂概念题整理 模电.数电总复习之爱课堂题目概念整理 电分总复习之爱课堂题目概念整理(原创)(不定期更新) 模电总复习之爱课堂题目概念整理 Chapter 1 ...

  6. Python毕设-【课堂人脸签到系统】附源码课件/Python练手项目/Python毕业设计

    Python毕设-[课堂人脸签到系统]附源码课件/允许白嫖 文章目录 Python毕设-[课堂人脸签到系统]附源码课件/允许白嫖 系统简介 一.本课题拟解决的问题 二.系统技术栈 三.开发工具 四.数 ...

  7. python字典高级用法_Python 进阶编程之字典的高级用法

    一. collections 中 defaultdict 的使用 1.1 字典的键映射多个值 将下面的列表转成字典 l = [('a',2),('b',3),('a',1),('b',4),('a', ...

  8. python 列表解析式_python列表解析式,字典解析式,集合解析式和生成器

    一.列表解析式(列表推倒式): 功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表. 1 lst = [1, 3, 5, 8, 10] 2 ll = [x+x for x in ls ...

  9. 怎么读懂python语句_Python入门基础知识点总结,一点文章就能让你看懂Python

    Python标识符 在 Python 里,标识符由字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分大小写 ...

最新文章

  1. 站在巨人的肩膀上,Adrian与dlib中face_recongnition模块的贡献者Adam的采访部分翻译
  2. P1051 谁拿了最多奖学金
  3. 20 个 jQuery 超酷视觉效果构建教程推荐
  4. 如何关掉mysql服务呢
  5. 业界真的需要水下数据中心?微软的确认为如此
  6. bios模拟器_比游戏模拟器罕见一百倍!99%的人没见过!真实用!
  7. python3协程 queue_使用gevent库+queue模块实现多协程爬虫,提高爬取效率!
  8. 首次落地中国大陆的OpenInfra:中国对于开源做出的贡献力量已不可忽视
  9. Nginx重启时丢失nginx.pid文件
  10. webstorm 主题导入方法
  11. 解决“error C1083: 无法打开包括文件: “HPSocket.h”: No such file or directory”
  12. 万字长文解析Redis数据倾斜与JD开源hotkey源码分析
  13. 陪着时光,走过羊肠阡陌
  14. 苹果风格ui设计_重新设计苹果音乐应用程序ui ux案例研究
  15. pic16多路adc采样
  16. Python获取秒级时间戳与毫秒级时间戳
  17. Android连连看设计思路,0049 JavaScript游戏连连看设计和编程思路
  18. 李宁——一切皆有可能
  19. C#SerialPort详细用法
  20. 动手实现简易网站目录扫描器(桌面窗口版)——WebScannerTkl

热门文章

  1. matlab 图像的膨胀indilate和腐蚀imerode
  2. ssh集群服务器免密登录
  3. matlab2c使用c++实现matlab函数系列教程-rot90函数
  4. matlab2c使用c++实现matlab函数系列教程-compan函数
  5. 查看Ubuntu内核和版本的两条命令以及LTS的含义
  6. Python基础__函数
  7. 数字个数依次叠加 s=a+aa+aaa+aaaa+aa...a
  8. WIN8系统中 任务管理器 性能栏 显示CPU利用率(已暂停)怎么回事?
  9. css3圆形修边按钮
  10. C++ 类的静态成员详细讲解(转)