Python学习.第六天.字典
Python学习.第六天.字典
- 前言
- 一、什么是字典?
- 二、字典的原理
- 三、字典的创建与删除
- 四、字典的查询操作
- 五、字典元素的增、删、改操作
- 1.key的判断:
- 2.字典元素的删除
- 3.字典元素的新增
- 4.获取字典视图的三个方法
- 5.字典元素的遍历
- 六、字典生成式
- 总结
前言
一、什么是字典?
字典是Python内置的数据结构之一,与列表一样是一个可变序列。
可变序列是指可以进行增删改的操作,反之,不可变序列就是不可以进行增删改操作。
以键值对的方式存储数据,字典是一个无序的序列。
eg:scores = {‘张三’:100,‘李四:98’,‘王五:45’}
冒号之前的称为 键,冒号之后的称为 值,整体称为键值对。
可以看到 key1的值第一个放到字典中的键,我们向字典中存储数据的时候,会经过一个hash()函数的工序,要把存储的键放到hash()函数中进行计算存储的位置,所以要求放到字典中的键,必须是一个不可变序列(整数序列、字符串序列)。
二、字典的原理
字典的实现原理与查字典类似,查字典是现根据部首或者拼音查找对应的页码,Python中的字典是根据key查找value所在的位置。
三、字典的创建与删除
(1)最常用的方式,使用花括号
(2)使用内置函数dict()
scores = {'one': 100, 'two': 200, 'three': 300}
print(scores)
print(type(scores))
print('-------------------------------------')
student = dict(name='jack', age=20)
print(student)
四、字典的查询操作
(1)[] 如果字典中不存在指定的key,抛出keyError异常。
(2)get()方法,如果字典中不存在指定的key,并不会抛出keyError而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回。
scores = {'one': 100, 'two': 200, 'three': 300}
print(scores['two'])print(scores.get('two'))
print(scores.get('four'))
print(scores.get('three', 99)) # 查找three时 所对的value不存在时,提供的一个默认值
print(scores.get('four', 300))
五、字典元素的增、删、改操作
1.key的判断:
(1)in:指定的key在字典中存在返回True。
(2)not in:指定的key在字典中不存在返回True,存在就返回False。
scores = {'one': 100, 'two': 200, 'three': 300}
print('one' in scores)
print('four' not in scores) # 不存在就返回True
print('one' not in scores) # 存在就返回 False
2.字典元素的删除
del scores['one']
print(scores)
3.字典元素的新增
scores['four'] = 99
print(scores) #{'two': 200, 'three': 300, 'four': 99}scores['four'] = 100
print(scores) # {'two': 200, 'three': 300, 'four': 100}
如果增加的字典key与已有的相同,则自动更新覆盖原字典的value。
4.获取字典视图的三个方法
(1)keys():获取字典中所有的key
(2)values():获取字典中所有的value
(3)items():获取字典中所有的key、value对
scores = {'one': 100, 'two': 200, 'three': 300}
keys = scores.keys()
print(keys)
print(type(keys))
print(list(keys)) # 将所有的key组成的视图转成列表# 获取都有的value
values = scores.values()
print(values)
print(type(values))
print(list(values))# 获取所有的key—value对
items = scores.items()
print(items)
print(list(items)) # 转换之后的列表元素是由元组组成的
5.字典元素的遍历
scores = {'one': 100, 'two': 200, 'three': 300}
for _ in scores: # _ 作为变量print(_, scores[_])
print('---------------------------------------')
scores = {'one': 100, 'two': 200, 'three': 300}
for _ in scores:print(_, scores[_], scores.get(_))
六、字典生成式
内置函数zip():
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回有这些元组组成的列表。
items = ['fruits', 'books', 'others']
prices = [96, 78, 65]d = {items: prices for items, prices in zip(items, prices)}
print(d)a = {prices: items.upper() for prices, items in zip(prices, items)}
print(a)# 如果两个元素之间的个数不相等,以元素短的为准生成
总结
字典的特点:
(1):字典中的所有元素都是一个key—value对,key不允许重复,value可以重复。
(2):字典中的元素时无序的。
(3):字典中的key必须是不可变对象
(4):字典也可以根据动态地伸缩
(5):字典会浪费较大的内存,是一种使用空间换时间的数据结构。
Python学习.第六天.字典相关推荐
- SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理
SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理 本文连接 简介 SIGIA_4P 网址 a. 课程OKR Objectives and ...
- Python学习:字典(dictionary)
Python学习:字典(dictionary) 异常处理小技巧 异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行.一般情况下,在Python无法正常处理程序时就会发生一个 ...
- python学习(字典、用户输入和while循环)
前言:上次学习到了if语句,这次接着进行学习. 字典 字典能够准确地为各种真实物体建模,且能够将相关信息关联起来. 使用字典 字典是一系列的键--值对,一个建对应一个值,值可以为数字.字符串等 在Py ...
- Python学习(五)字典
字典 1.一个简单的字典 现在想存储一个人的基本信息,比如姓名,年龄等信息,应该怎样存储呢?下面是一个简单的字典,存储了一个人的相关信息. people_0 = {"name": ...
- Python学习6 字典基础知识和常用函数
字典概念 字典是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据.为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 ...
- python学习—伍—字典
目录 零.字典基础 简单字典举例 字典是什么 访问字典中的值 添加键值对 创建空字典 修改字典中的值 删除键值对 由类似对象组成的字典 使用 get() 来访问值 壹.遍历字典 遍历所有键值对 遍历字 ...
- python学习04——字典
文章目录 1. 字典的创建 2. 字典的元素查找 2.1 使用`[]` 2.2 使用`get()`函数 3. 字典的增删改操作 3.1 判断元素 3.2 增加元素 3.3 删除元素 3.3.1 删除某 ...
- Python 学习笔记 - 字典
1.使用字典 字典 是一系列键-值对. * 每个键都与一个值相关联,你可以使用键来访问与之相关联的值. * 与键相关联的值可以是数字.字符串.列表乃至字典. * 事实上,可将任何Python对象用做字 ...
- Python学习之字典
#字典 ''' 语法: 字典名 = {'键':'值','键':'值',....} 例如:test = {'color':'pink','points':7} print(test['color']) ...
最新文章
- VLFeat开源库介绍及在VS2013中的编译
- java数组中怎么去重_java数组去重怎么弄???大神来解
- idea工程本地依赖_IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题(已解决)...
- 卓语言对泛型类的使用
- 论文浅尝 | LightRNN:存储和计算高效的 RNN
- ANDROID模拟器访问本地WEB应用10.0.2.2
- java根据距离算经纬度_java 根据两点经纬度来算距离
- 提高 Mac OS X 速度的 52 个方法
- 彻底讲清楚ZooKeeper分布式锁的实现原理【石杉的架构笔记】
- star面试法则面试案例_案例面试技巧
- java生成随机邮箱_Java随机密码生成并和邮箱、手机号匹配
- 搭讪技巧,希望所有单身的程序员兄弟都有女朋友哦!!
- windows用虚拟机vmWare安装黑苹果及注意事项
- 在OCI中为计算实例添加第二块网卡
- xmind转Excel测试用例
- 1.41亿老人遭受过虐待,厌老憎老为何成了时代病?
- 使用IDEA从零开始新建一个springboot项目
- Struts2访问验证码异常解决OgnlValueStack:64 - ..java.lang.NumberFormatException: For input string: 1494056190
- 阿里云开发中分区和列操作
- 怎么让PPT分享不那么枯燥?
热门文章
- 1983—2001世嘉主机发展历程
- Python统计模型探索性数据分析(EDA)系统(单变量-双变量-相关性-缺失值)
- 称金币问题: 有27枚金币,其中一个是假的。假的比真的略轻。现在有一个天平,问最少几次可以找出假币?
- 持久化技术——游戏玩家信息管理(基于 SQLite)
- 排序:快排(随机选择枢轴)、堆排序、归并排序
- css实现从左到右渐变色
- iOS小技能:设置tableView的点击事件优先级低于cell的选中事件(场景:比如筛选视图,监听蒙版的点击事件就隐藏筛选视图)
- 关于intrins.h头文件的介绍,做流水灯时候更方便
- Flash服务端常见架构方案
- 无障碍感受 北京之美