Python基础知识学习总结(五)

一. 字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号( , )分割,整个字典包括在花括号 {} 中 。

dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

tinydict = {'name': '潘家辉大佬', 'grade': 666, 'url': '能不能不要再卷我了!!!'}
print(tinydict)

1> 空字典

a. 使用大括号创建字典。

emptyDict = {}     
# 打印字典  
print(emptyDict)     
# 查看字典的数量  
print("Length:", len(emptyDict))     
# 查看类型  
print(type(emptyDict))

b. 使用内建函数 dict() 创建字典。

emptyDict = dict()   
# 打印字典  
print(emptyDict)    
# 查看字典的数量  
print("Length:",len(emptyDict))    
# 查看类型  
print(type(emptyDict))

2> 读取字典里的值

把相应的键放入到方括号中。

tinydict = {'Name': '潘家辉', 'Age': 555, 'Class': 'NumberOne'}
print("tinydict['Name']: ", tinydict['Name'])
print("tinydict['Age']: ", tinydict['Age'])

如果用字典里没有的键访问数据,会输出错误。

3> 修改字典里的值

tinydict = {'Name': '潘家辉', 'Age': 666, 'Class': 'NumberOne'}
tinydict['Age'] = 999 # 更新 Age 
tinydict['School'] = "m大学" # 添加信息 
print("tinydict['Age']: ", tinydict['Age'])
print("tinydict['School']: ", tinydict['School'])

可以出Age从666变成888,多添加了个键与值。

4> 删除字典元素

能删单一的元素也能清空字典.clear(),清空只需一项操作,显式删除一个键或字典用del命令典。

tinydict = {'Name': '潘家辉', 'Age': 666, 'Class': 'NumberOne'}
del tinydict['Name'] # 删除键 'Name' 
print("tinydict['Age']: ", tinydict['Age'])
tinydict.clear() # 清空字典 
print("tinydict['Age']: ", tinydict['Age'])
del tinydict # 删除字典
print("tinydict['Age']: ", tinydict['Age'])

5> 字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

  1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
  2. 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

6> 字典内置函数与方法

a. Python字典包含了以下内置函数:
序号函数及描述
1len(dict) 计算字典元素个数,即键的总数。
2str(dict) 输出字典,可以打印的字符串表示。
3type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。
b. Python字典包含了以下内置方法:
序号函数及描述
1[dict.clear()] 删除字典内所有元素
2[dict.copy()] 返回一个字典的浅复制
3[dict.fromkeys()]创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4[dict.get(key, default=None)] 返回指定键的值,如果键不在字典中返回 default 设置的默认值
5[key in dict] 如果键在字典dict里返回true,否则返回false
6[dict.items()] 以列表返回一个视图对象
7[dict.keys()]返回一个视图对象
8[dict.setdefault(key, default=None)] 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9[dict.update(dict2)]把字典dict2的键/值对更新到dict里
10[dict.values()] 返回一个视图对象
11[pop(key[,default])]l) 删除字典 key(键)所对应的值,返回被删除的值。
12[popitem()] 返回并删除字典中的最后一对键和值。

二. 集合(Set)

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

# 可以理解为这个是一个没有键,只有值的字典,也叫做集合。
fruit = {'潘家辉', '大佬', '你', '真', '棒!'}
print(fruit)# set()集合函数
a = set('abcccd')
print(a)
b = set('ad')
c = a-b 
print(c)

可以看出输出结果不是固定的,是个无序的不重复元素序列。

  1. a-b(集合a中包含而集合b中不包含的元素)
  2. a|b(集合a或b中包含的所有元素)
  3. a&b(集合a和b中都包含了的元素)
  4. a^b(不同时包含于a和b的元素)

1> 添加元素

  1. add()函数,将元素添加到集合中,如果元素已存在,则不进行任何操作。
  2. update()函数,添加元素,且参数可以是列表,元组,字典等。
student = set(("潘", "鸽", "真"))
student.add("强")
print(student)
student.update({1,2,3})
print(student)

2> 删除元素

  1. remove()函数,将元素从集合中移除,如果元素不存在,则会发生错误。
  2. discard()函数,将元素从集合中移除,且如果元素不存在,不会发生错误。
  3. pop()函数,将集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
student = set(("潘", "鸽", "真"))
student.remove("强")
print(student)
student.discard("嘻嘻")
print(student)
student.pop()
print(student)

student = set(("潘", "鸽", "真"))
student.remove("鸽")
print(student)
student.discard("嘻嘻")
print(student)
student.pop()
print(student)

3> 计算集合元素个数

student = set(("潘", "鸽", "真", "强"))
print(len(student))

4> 清空集合

student = set(("潘", "鸽", "真", "强"))
print(student)
student.clear()
print(student)

5> 判断元素是否在集合中存在

student = set(("潘", "鸽", "真", "强"))
print("潘" in student)
print("h" in student)

6> 集合内置方法完整列表

方法描述
[add()]为集合添加元素
[clear()]移除集合中的所有元素
[copy()]拷贝一个集合
[difference()]返回多个集合的差集
[difference_update()]移除集合中的元素,该元素在指定的集合也存在。
[discard()]删除集合中指定的元素
[intersection()]返回集合的交集
[intersection_update()]返回集合的交集。
[isdisjoint()]判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
[issubset()]判断指定集合是否为该方法参数集合的子集。
[issuperset()]判断该方法的参数集合是否为指定集合的子集
[pop()]随机移除元素
[remove()]移除指定元素
[symmetric_difference()]返回两个集合中不重复的元素集合。
[symmetric_difference_update()]symmetric_difference_update.html)移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
[union()]返回两个集合的并集
[update()]给集合添加元素

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/405413.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多商户入驻商城系统源码+收银系统源码

随着移动互联网的不断发展,私域小程序对于零售门店来说早已不再陌生。很多门店也都搭建了自己专属的私域商城,但是私域商城一直是不温不火的状态,尤其针对一些腰尾部商户来说,无小程序运营能力,小程序流量匮乏&#xf…

Unity 波函数坍缩算法随机地图生成

Unity 波函数坍缩算法随机地图生成 波函数波函数基本概念位置空间波函数动量空间波函数两种波函数之间的关系波函数的本征值和本征态波函数坍缩 熵是什么熵作为状态函数时间之箭 实现原理举个例子:2D迷宫地图生成 Unity 如何实现前期准备单元格代码瓦片地图代码波函…

jpg怎么转换成pdf?6个简单方法,实现jpg转换成pdf

你是否也曾想将jpg图片转换为pdf格式文档呢?亦或者在处理文档或制作报告时,不知道怎么才能更快地将多张图片整合成一个pdf文件呢?如果你正在寻找简单快速的方法,又有哪些工具可以帮助您完成图片转pdf呢?别着急&#xf…

“LOCAL_LISTENER”参数导致业务无法连接数据库,文末附Oracle连接故障检查监听的排查流程

1. 背景及问题 今天在Oracle BCV技术[1]做数据同步,建立生产库的测试库,需要DBA配合同步前后的停库和起库。在同步完起库后,有部门反应同步好的测试库连接不上去。 2. 问题排查 以我当前的知识储备,能想到的可能就是以下几点进…

深入浅出:你需要了解的用户数据报协议(UDP)

文章目录 **UDP概述****1. 无连接性****2. 尽最大努力交付****3. 面向报文****4. 多种交互通信支持****5. 较少的首部开销** **UDP报文的首部格式****详细解释每个字段** **UDP的多路分用模型****多路分用的实际应用** **检验和的计算方法****伪首部的详细内容****检验和计算步…

国内智能车零部件头号玩家引望:年出货300万套,估值1150亿

作者 |德新 编辑 |王博 8月19日,长安汽车发布公告,其联营企业阿维塔科技在当日的董事会上,通过了对引望公司的投资方案议案。 阿维塔将在8月20日与华为签约,阿维塔将出资115亿元,对引望公司持股10%,华为持…

用Maven开发Spring Boot 项目

一、初识 Spring Boot Spring Boot框架是一 套开源的后台开发框架, 继承了Spring MVC框架的前辈SSM框架的优秀特性,通过注解大幅减少程序员写配置的工作量。从企业开发角度来看,它提供了自动化配置,内嵌容器和兼容Maven等核心功…

设计模式六大原则(一)–单一职责原则(C#)

文章目录 1. 什么是单一职责原则?2. 单一职责原则的定义3. 单一职责原则的重要性4. 单一职责原则的示例(C#)5.如何判断是否违反单一职责原则6. 单一职责原则的应用场景7. 总结 在软件开发领域,设计模式是解决常见问题的经典解决方…

RK3588J正式发布Ubuntu桌面系统,丝滑又便捷!

本文主要介绍瑞芯微RK3588J的Ubuntu系统桌面演示,开发环境如下: U-Boot:U-Boot-2017.09 Kernel:Linux-5.10.160 Ubuntu:Ubuntu20.04.6 LinuxSDK: rk3588-linux5.10-sdk-[版本号] (基于rk3…

如何使用mmdetection训练实例分割模型?

安装 anoconda 从官方网站下载并安装。 配置环境 conda create --name openmmlab python3.8 -y conda activate mmdet 安装 PyTorch 注意:这个步骤很关键,否则后面会出问题。一定要确保自己电脑当前安装和配置的cuda版本。 使用命令:nvcc …

做数据采集,你真的了解PLC插槽号吗?

有很多PLC可以在系统里配置多个独立CPU,各自有自己的任务。也有一些PLC,虽然只有一个CPU,但是,其位置是可变的。外部进行数据采集时,首先要搞明白采集目标是哪个CPU,否则,就会张冠李戴&#xff…

【运维】从一个git库迁移到另一个库

工作目录: /home/java/hosts 10.60.100.194 脚本 hosts / hostsShell GitLab (gbcom.com.cn) 核心代码

FFmpeg的入门实践系列一

欢迎诸位来阅读在下的博文~ 在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力! 江山如画,客心如若,欢迎到访,一展风采 文章目录 参考环境本系列的适用人群FFmpeg的简介FFmpeg…

win11安装python及pycharm与webots联合仿真

1、查看Windows系统 是否已安装Python及版本 【冰糖Python】Windows系统 查看已安装的Python版本_怎么确定windows上成功安装python-CSDN博客 好,确认没装下面装python37 2、安装python3.7.9 参考教程Python 3.82安装教程(Windows11、超详细版&#x…

C语言基础(六)

一维数组: C语言中的数组是一种基本的数据结构,用于在计算机内存中连续存储相同类型的数据。 数组中的每个元素可以通过索引(或下标)来访问,索引通常是从0开始的。 数组的大小在声明时确定,并且之后不能改…

ansible搭建+ansible常用模块

ansible搭建 管理机安装ansible,被管理节点必须打开ssh服务 1.管理机安装ansible yum -y install ansible 2.查看版本 ansible --version ansible 2.9.27 3.查找配置文件 find /etc/ -name "*ansible*" /etc/ansible /etc/ansible/ansible.cfg 4.三台被管理机…

【中项第三版】系统集成项目管理工程师 | 第 15 章 组织保障

前言 本章的知识点预计上午会考1-2分,下午可能会考,一般与其他管理领域进行结合考查。学习要以教材为主。 目录 15.1 信息和文档管理 15.1.1 信息和文档 15.1.2 信息(文档)管理规则和方法 15.2 配置管理 15.2.1 基本概念 …

背包问题有前提

前言&#xff1a;这个有大前提的背包感觉不能用二进制拆分&#xff0c;不然搞不清楚 注意三维的顺便&#xff0c;第一维度是枚举物品&#xff0c;第二维度是倒序枚举空间&#xff0c;第三维度是枚举数量 题目地址 #include<bits/stdc.h> using namespace std;#define …

数据库:数据更新和视图

1 实验目的 &#xff08;1&#xff09;掌握SQL语言的数据更新功能&#xff1a; update 语句用于对表进行更新 delete 语句用于对表进行删除 insert 语句用于对表进行插入 &#xff08;2&#xff09;掌握对视图的操作&#xff1a; 视图的定义 视图的更新 基于视图的查询 …

基于推荐算法的景点攻略网站的设计与实现---附源码130855

摘 要 21世纪时信息化的时代&#xff0c;几乎任何一个行业都离不开计算机&#xff0c;将计算机运用于旅游景点分享也是十分常见的。过去使用传统广告方式对旅游景点进行推荐分享&#xff0c;造成了流程繁琐、难以维护&#xff0c;难于进准推荐给适合需求的人群等问题&#xff0…