python创建字典的两种方法要求键星期一到星期天_Python3笔记019 - 4.4 字典
第4章 序列的应用
4.1 序列
4.2 列表
4.3 元组
4.4 字典
4.5 集合
4.6 列表、元组、字典、集合的区别
python的数据类型分为:空类型、布尔类型、数字类型、字节类型、字符串类型、元组类型、列表类型、字典类型、集合类型
在python中序列是一块用于存放多个值的连续内存空间。
python内置了5种序列分别是元组、列表、字典、集合、字符串。
本章将介绍元组、列表、字典、集合四种序列类型,字符串将在第5章介绍
4.4 字典
字典的特征:
1、通过键而不是通过索引来读取
2、字典是可变的,并且可以任务嵌套
3、字典中的键必须唯一
4、字典中的键必须不可变
5、从3.6版本开始,是有序序列
4.4.1 字典的创建和删除
1、直接使用{}创建字典
dictonary = {"key1":"value1", "key2":"value2", ..., "keyn":"valuen"}
参数说明
dictionary表示字典名称
key1、key2、...keyn表示元素的键,必须唯一
value1、value2、...、valuen表示元素的值,不须唯一
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
print(type(dict1))
output:
dictionary = {} # 空字典
dictionary = dict() # 空字典
2、通过映射函数创建字典
dictionary = dict(zip(list1, list2))
参数说明
dictionary表示字典名称
zip()函数用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象
list1 = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
list2 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
dictionary = dict(zip(list1, list2))
print(type(dictionary))
print(dictionary)
output:
{'星期一': 'Monday', '星期二': 'Tuesday', '星期三': 'wednesday', '星期四': 'Thursday', '星期五': 'Friday', '星期六': 'Saturday', '星期日': 'Sunday'}
3、通过给定的关键字参数创建字典
dictionary = dict(key1=value1, key2=value2, ..., keyn=valuen)
dictionary = dict(key1="value1", key2="value2", keyn="valuen")
print(type(dictionary))
print(dictionary)
output:
{'key1': 'value1', 'key2': 'value2', 'keyn': 'valuen'}
4、删除字典
del dictionary
dictionary.clear()
dictionary = dict(key1="value1", key2="value2", keyn="valuen")
del dictionary
print(dictionary)
output:
NameError: name 'dictionary' is not defined
dictionary = dict(key1="value1", key2="value2", keyn="valuen")
dictionary.clear()
print(dictionary)
output:
{}
4.4.2 通过键值对访问字典
1、通过键访问值
ditionary[key]
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
print(dict1["Monday"])
output:
星期一
2、通过字典对象的get()方法
dictionary.get(key[,default])
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
print(dict1.get("Monday"))
output:
星期一
4.4.3 遍历字典
1、keys()
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
for i in dict1.keys():
print(i)
output:
Monday
Tuesday
wednesday
Thursday
Friday
Saturday
Sunday
2、values()
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
for i in dict1.values():
print(i)
output:
星期一
星期二
星期三
星期四
星期五
星期六
星期日
3、items()
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
for i in dict1.items():
print(i)
output:
('Monday', '星期一')
('Tuesday', '星期二')
('wednesday', '星期三')
('Thursday', '星期四')
('Friday', '星期五')
('Saturday', '星期六')
('Sunday', '星期日')
4.4.4 添加、修改、删除字典元素
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六",}
# 添加
dict1["Sunday"]="星期日"
print(dict1)
output:
{'Monday': '星期一', 'Tuesday': '星期二', 'wednesday': '星期三', 'Thursday': '星期四', 'Friday': '星期五', 'Saturday': '星期六', 'Sunday': '星期日'}
# 修改
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
dict1["Sunday"]="星期天"
print(dict1)
output:
{'Monday': '星期一', 'Tuesday': '星期二', 'wednesday': '星期三', 'Thursday': '星期四', 'Friday': '星期五', 'Saturday': '星期六', 'Sunday': '星期天'}
# 删除
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
del dict1["Sunday"]
# 如果要删除的元素不存在,会抛出异常,可以先做个判断
dict1 = {"Monday":"星期一","Tuesday":"星期二","wednesday":"星期三","Thursday":"星期四","Friday":"星期五","Saturday":"星期六","Sunday":"星期日",}
if "Sunday" in dict1:
del dict1["Sunday"]
print(dict1)
output:
{'Monday': '星期一', 'Tuesday': '星期二', 'wednesday': '星期三', 'Thursday': '星期四', 'Friday': '星期五', 'Saturday': '星期六'}
4.4.5 字典推导式
import random
randomdict = {i:random.randint(10,100) for i in range(1,5)}
print("生成的字典为:",randomdict)
output:
生成的字典为: {1: 41, 2: 40, 3: 45, 4: 10}
# 拓展:值最大的字典
def max_pairs(dic):
if len(dic) == 0:
return dic
max_val = max(map(lambda v: v[1], dic.items()))
return [item for item in dic.items() if item[1] == max_val]
r = max_pairs({'a': -10, 'b': 5, 'c': 3, 'd': 5})
print(r) # [('b', 5), ('d', 5)]
# 拓展:合并两个字典
def merge_dict2(dic1, dic2):
return {**dic1, **dic2} # python3.5后支持一行代码实现合并字典
merge_dict({'a': 1, 'b': 2}, {'c': 3}) # {'a': 1, 'b': 2, 'c': 3}
敬请关注个人微信公众号:测试工匠麻辣烫
python创建字典的两种方法要求键星期一到星期天_Python3笔记019 - 4.4 字典相关推荐
- mysql创建库几种方法_MySQL创建数据库的两种方法
本文为大家分享了两种mysql创建数据库的方法,供大家参考,具体内容如下 第一种方法:使用 mysqladmin 创建数据库使用普通用户,你可能需要特定的权限来创建或者删除 mysql 数据库. 所以 ...
- python使用方法视频-Python读取视频的两种方法(imageio和cv2)
用python读取视频有两种主要方法,大家可依据自己的需求进行使用. 方法一: 使用imageio库,没有安装的可用pip安装或自己下载,安装好后重启终端即可调用. import pylab impo ...
- Java学习笔记:创建线程的两种方法
Java学习笔记:创建线程的两种方法 一.预备工作 1.创建Maven项目ThreadDemo 2.在pom.xml里添加依赖 二.继承Thread类创建子线程
- python遍历数组的两种方法及将print的内容写入文件中
python遍历数组的两种方法 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] ...
- 《Axure RP7网站和APP原型制作从入门到精通(60小时案例版)》一第2章 母版详解2.1 创建母版的两种方法...
本节书摘来自异步社区<Axure RP7网站和APP原型制作从入门到精通(60小时案例版)>一书中的第2章,第2.1节,作者 金乌,更多章节内容可以访问云栖社区"异步社区&quo ...
- Python创建多线程的三种方法
Python创建多线程的三种方法 thread模块函数式创建线程 继承threading类创建多线程 threading模块函数式创建线程 使用总结 thread模块函数式创建线程 调用thread模 ...
- JS动态创建元素(两种方法)
前言 创建元素有两种方法 1)将需要创建的元素,以字符串的形式拼接:找到父级元素,直接对父级元素的innnerHTML进行赋值. 2)使用Document.Element对象自带的一些函数,来实现动态 ...
- python3(4)--- python遍历数组的两种方法
python遍历数组的两种方法 第一种,最常用的,通过for in遍历数组.其实本质就是取出来的是这个数组或者列表中的元素,和角标无关. colours = ["red",&quo ...
- python遍历数组的两种方法的代码
工作过程中,把开发过程中较好的一些内容段备份一下,下面内容是关于python遍历数组的两种方法的内容,希望对小伙伴有用途. colours = ["red","green ...
最新文章
- 《操作系统》库函数与系统调用的区别和联系?
- 物联网技术概论的课程编号_选课推荐 | 第5期:物联网技术概论
- android 悬浮球简书,轻松自制flyme悬浮球
- java 抽象类与接口区别是什么_JAVA中抽象类与接口的区别,分别在什么情况下使用它们...
- 中国水密门市场趋势报告、技术动态创新及市场预测
- Python:文件的读取、创建、追加、删除、清空
- node.js安装详细教程
- Android 学生管理系统
- 金格公司对致远HandWrite产品的测试地址
- 卫计委电子病历架构基本概念
- (Spring+SpringMVC+mybatis)SSM企业职工工资管理系统
- CSS基础常识问答(二)
- 深圳市自助图书馆详细分布地址
- 白底图片转换为蓝底图片
- 无为而无不为和企业管理
- StarUML 3 中文文档 包图
- 用户计算机名更改为英文,win10将用户名改为英文怎么改_win10如何更改用户名为英文图文教程-系统城...
- Django书籍下载地址收集
- SpringCloud-Netfilx
- 护眼灯真的可以保护眼睛吗?2022双十二选哪款护眼灯对孩子眼睛好
热门文章
- 基于javaweb的红酒朔源管理系统(java+ssm+jsp+layui+jquery+mysql)
- 关于电信、网通检测ADSL共享上网的技术手段
- ST-GCN源码运行完整版(含OpenPose编译安装)及常见问题
- Android 开发中使用硬件加速
- PHP编写helloword,如何写第一个php程序——helloword
- QTP(UFT)安装及使用自带的飞机订票系统测试
- windows10权限被改为System Managed Account Group的处理方法
- 空压机设备远程监控解决方案
- 分享Android KTX + Kotlin协程 组合使用
- 希尔伯特黄变换python实现