字典

字典:简单讲就是无序的,可变的,可包含任意对象的“键值对”(key:value)的集合

特点:
1. 属于可变序列
2. 可变长度
3. 任意类型
4. 任意嵌套
5. 支持原位改变

定义字典
none_dict = {}  #定义一个空字典
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
print(none_dict)
print(user_info_dict)

运行结果:

{}
{'name': '马小跳', 'age': 17, 'gender': 'male', 'job': '学神'}  
字典的增删改查
修改:
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
print(user_info_dict)
user_info_dict["name"] = "马大哈"  #将name的value替换为"马大哈"
print(user_info_dict)```
运行结果:  

{‘name’: ‘马小跳’, ‘age’: 17, ‘gender’: ‘male’, ‘job’: ‘学神’}
{‘name’: ‘马大哈’, ‘age’: 17, ‘gender’: ‘male’, ‘job’: ‘学神’}

###### 查询:
```python
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
print("%s的年龄是:%d,性别是:%s,工作:%s"%(user_info_dict["name"],user_info_dict["age"],user_info_dict["gender"],user_info_dict["job"]))<div class="se-preview-section-delimiter"></div>#key不能相同,相同后面的会覆盖前面的
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神","job":"学炸"}
print("工作:%s"%user_info_dict["job"])<div class="se-preview-section-delimiter"></div>

运行结果:

马小跳的年龄是:17,性别是:male,工作:学神
工作:学炸<div class="se-preview-section-delimiter"></div>
添加:
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
user_info_dict["tel"] = "909272590"
print(user_info_dict)<div class="se-preview-section-delimiter"></div>

运行结果:

{'name': '马小跳', 'age': 17, 'gender': 'male', 'job': '学神', 'tel': '909272590'}  <div class="se-preview-section-delimiter"></div>
删除:
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
del user_info_dict["job"]
print(user_info_dict)<div class="se-preview-section-delimiter"></div>

运行结果:

{'name': '马小跳', 'age': 17, 'gender': 'male'}<div class="se-preview-section-delimiter"></div>
字典.keys() 来获取字典中的所有的键
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
for key in user_info_dict.keys():print(key)<div class="se-preview-section-delimiter"></div>

运行结果:

name
age
gender
job<div class="se-preview-section-delimiter"></div>
字典.values() 来获取字典中所有的值
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
for values in user_info_dict.values():print(values)  <div class="se-preview-section-delimiter"></div>

运行结果:

马小跳
17
male
学神  <div class="se-preview-section-delimiter"></div>
.items() 获取字典中的某个键值对返回一个元组

将字典里的键值对输出成元组,输出最后一个元组的第一个元素

user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
for item in user_info_dict.items():print(item)
print(item[0])<div class="se-preview-section-delimiter"></div>

运行结果:

('name', '马小跳')
('age', 17)
('gender', 'male')
('job', '学神')
job<div class="se-preview-section-delimiter"></div>

如果需要把每个元素都遍历出来可以再添加一个临时变量

user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
for key,value in user_info_dict.items():print(key)print(value)<div class="se-preview-section-delimiter"></div>

运行结果:

name
马小跳
age
17
gender
male
job
学神<div class="se-preview-section-delimiter"></div>
clear()清空字典
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
print(user_info_dict)
user_info_dict.clear()
print(user_info_dict)<div class="se-preview-section-delimiter"></div>

运行结果:

{'name': '马小跳', 'age': 17, 'gender': 'male', 'job': '学神'}
{}<div class="se-preview-section-delimiter"></div>
通过value 取 key
user_info_dict = {"name":"马小跳","age":17,"gender":"male","job":"学神"}
key_list = list(user_info_dict.keys())  #将key转换为列表
value_list = list(user_info_dict.values())  #将value转换为列表
print(key_list)    #输出key列表
print(value_list)  #输出value列表
result = key_list[value_list.index("学神")]  #从value列表中查找"学神"的下标,再从key列表中查找以学神下标为下标的元素
print(result)  #输出这个元素  <div class="se-preview-section-delimiter"></div>

运行结果 :

['name', 'age', 'gender', 'job']
['马小跳', 17, 'male', '学神']
job<div class="se-preview-section-delimiter"></div>
从单个字典里取key
d = {"name":"悟空"}
key1,= d
print(key1)<div class="se-preview-section-delimiter"></div>

运行结果 :

name<div class="se-preview-section-delimiter"></div>
从多个字典中取key

注意:变量需要和字典中的key数量对应

d = {"name":"悟空","my":1,"you":2}
key1,key2,key3 = d
print(key1,key2,key3)<div class="se-preview-section-delimiter"></div>

运行结果:

name my you

python笔记之序列(dict的基本使用和常用操作)相关推荐

  1. python笔记之序列(str的基本使用和常用操作)

    序列 序列:列表(list),元组(tuple),字典(dict),集合(set),str,range() 有序列表: list,tuple 无序列表: dict,set 可变序列: list,dic ...

  2. python笔记之序列(tuple的基本使用和常用操作)

    元组的基本使用和常用操作 元组:序列的一种,可包含任意对象的集合 特点: 1. 属于不可变序列 2. 可包含任意对象 3. 通过下标访问元素(从0开始) 4. 任意嵌套 5. 不可变长度 定义一个元组 ...

  3. python笔记之序列(list的基本使用和常用操作)

    列表 简单来说就是有序的,可变的,可包含任意对象的集合. 属于可变序列 可包含任意类型(对象) 通过下标访问元素,从0开始 长度可变,任意嵌套 支持原位改变,可以动态的收缩或者扩展大小 列表的基本使用 ...

  4. python笔记之序列(set的基本使用和常用操作)

    集合(set) 集合(set):无序的,可变的,可包含任意对象的集合 ,每次输出的结果顺序都是不同的 特点: 1. 属于可变序列 2. 可以包含任意类型 3. 可变长度,任意嵌套 4. 支持原位改变 ...

  5. python慕课笔记_MOOC python笔记(三) 序列容器:字符串、列表、元组

    Python Python开发 Python语言 MOOC python笔记(三) 序列容器:字符串.列表.元组 容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器 ...

  6. Python入门基础篇(四)字符串的常用操作,全面易懂,简单实用!!!

    请认真阅读哦!!! 字符串几乎是所有编程语言在项目开发过程中涉及最多的一块内容,许多地方都是用到字符串的基本操作,前面讲了列表.元组,这次就来说说字符串吧 文章目录 字符串的常用操作: 1.拼接字符串 ...

  7. 用Python轻松搞定Excel中的20个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

  8. 用 Python 轻松搞定 Excel 中的 20 个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

  9. c#读取excel两列数据并绘制xy曲线_用Python轻松搞定Excel中的20个常用操作

    来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...

最新文章

  1. 经典算法题之Maximal Square
  2. 如何实现label长度固定,文字分散分布的效果
  3. python-print
  4. 阿里云消息队列 RocketMQ、Kafka 荣获金融级产品稳定性测评 “先进级” 认证
  5. 去除内存上的警告,避免程序崩掉
  6. 实战:Redis 集群模式(下)
  7. hyperion卫星重访时间_观摩卫星发射|2020第四届全球物联网大会上让我们一起去“放星”...
  8. “金嗓子”宣布退市!曾因罗纳尔多代言争议爆红,广告词家喻户晓…
  9. SSM框架下分页的实现(封装page.java和List?)
  10. 文件的记录c语言程序,急求如何将下列C语言程序数据存储到文件中?
  11. 从0开始python后端开发_配置apache服务器(Mac系统)
  12. 【顶会论文解析】罪行预测
  13. CentOS6.5上增加中文字体库,确保前端WEB可以正常显示
  14. Spark SQL 从入门到精通 - Spark SQL 行转列、列转行案例
  15. 知识追寻者网址神器私藏合集
  16. 计算机cpu一直超频,电脑卡顿怎么办,CPU超频让老电脑起死回生,大神带你玩转CPU!...
  17. 频繁默认网关不可用_Win10经常断网提示默认网关不可用的解决方法
  18. 想要成功,你得像剥洋葱一样一层一层地撕开自己
  19. hyperv中的ubuntu虚拟机双网卡设置
  20. 文献管理软件zotero发布ios版本,支持webdav同步并且内置pdf阅读器

热门文章

  1. LiveVideoStack 主编观察 01
  2. ​5G+AI时代的高效视频处理
  3. 报名 | 腾讯组织的区块链技术沙龙,本周六在深圳!
  4. go sync.map 源码分析
  5. 大剑无锋之delete、drop、truncate【面试推荐】
  6. Collection和Map中易考的一些知识点
  7. java小编程----给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。
  8. Java程序员需要掌握的计算机底层知识(一):CPU基本组成、指令乱序执行、合并写技术、非同一访问内存 NUMA
  9. 计算机编码规则之:Base64编码
  10. dart系列之:元世界pubspec.yaml文件详解