Python小白的进阶之路---Day3

Python字典与集合详解
本文深入探讨Python中字典和集合的定义、创建方法及内置函数,包括字典的映射特性、创建方式、各种操作方法,以及集合的无序、不重复特性及其创建与操作方法。


参考链接:
https://study.163.com/course/courseLearn.htm?courseId=378003#/learn/video?lessonId=745183&courseId=378003
https://blog.csdn.net/Yort2016/article/details/71159951
https://blog.csdn.net/qq_29768491/article/details/79678535
https://blog.csdn.net/dujiahei/article/details/87890767

1.dict字典

1.1 字典的定义

   字典是Python中唯一的映射类型,映射是数学上的一个术语,指两个元素集 之间元素相互“对应”的关系。映射类型区别于序列类型,序列类型以数组的形式存储,通过索引的方式来获取相应位置的值,一般索引值与对应位置存储的数据是毫无关系的。字典跟序列不同,序列讲究顺序,字典讲究映射,不讲究顺序。字典也被称作关联数组或哈希表。

1.2 字典的创建方法

   字典有自己的标志性符号,就是用大括号{}定义。字典由键(key)和对应的值(value)共同构成,每一对键值组合称之为项。如:

>>> dict1={1:'one',2:'two',3:'three'}
>>> dict1
{1: 'one', 2: 'two', 3: 'three'}
>>> print(dict1[2])
two

   注意字典的键必须是独一无二的,而值可以取任何数据类型,但必须是不可变的(如字符串、数或元祖)。
   我们也可以用dict()来创建字典。

>>> dict1=dict(((1,'one'),(2,'two'),(3,'three')))
>>> dict1
{1: 'one', 2: 'two', 3: 'three'}

  还有一种方法是直接给字典的键复制,如果键存在,则改写键对应的值;如果不存在。则创建一个新的值并赋值。

>>> dict1[5]='five'
>>> dict1
{1: 'one', 2: 'two', 3: 'three', 5: 'five'}

1.3 字典的各种内置方法

(1)fromkeys()
  该方法用于创建并返回一个新的字典,它有两个参数:第一个参数是字典的见;第二个参数是可选的,是传入键的值。如果不提供,那么默认是None。

>>> dirt1={}
>>> dirt1.fromkeys((1,2,3),'number')
{1: 'number', 2: 'number', 3: 'number'}
>>> dirt1.fromkeys((1,2,3),('one','two','three'))
{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}

(2) keys()values()items()
  访问字典的方法有上面三种 。key()用于返回字典中的键,value()用于返回字典中的值,items()用于返回字典中的项。

>>> dict1=dict1.fromkeys((1,2,3,4,5),'number')
>>> dict1.keys()
dict_keys([1, 2, 3, 4, 5])
>>> dict1.values()
dict_values(['number', 'number', 'number', 'number', 'number'])
>>> dict1.items()
dict_items([(1, 'number'), (2, 'number'), (3, 'number'), (4, 'number'), (5, 'number')])

(3) get()setdefault()
  get()这种方法提供了更宽松的方式去访问字典项,当键不存在的时候,get()方法并不会报错,只是默默地返回了一个None,表示什么都没有找到。
  setdefault()在字典找不到相应的键时会自动添加。

>>> a={1:'one',2:'two',3:'three'}
>>> a.get(6)
>
>>> a.setdefault(4)
>>> a
{1: 'one', 2: 'two', 3: 'three', 4: None}

  如果希望找不到数据时返回指定的值,那么可以在get()第二个参数设置的时候对应默认的默认返回值。

>>> dict1.get(7,'new')
'new'

  如果不知道一个键是否在字典中,那么可以使用成员操作符(in或not in)来判断。

(4) clear():该方法用于清空字典。使用变量名赋值为一个空字典的方法存在一些弊端,所以推荐的做法是用clear().

(5) copy():用来复制字典。

(6) pop()popitem()
  pop()是给定键弹出对应的值,而popitem()是弹出一个项,弹出的项是随机的。

(7) update() :更新字典。

>>> a={1:'one',2:'two',3:'three'}
>>> b={3:'三'}
>>> a.update(b)
>>> a
{1: 'one', 2: 'two', 3: '三'}

2.集合----“字典的表亲”

2.1集合的特性

集合是一个无序的,不重复的数据组合。 集合的应用场景主要有:

  • 列表去重
  • 关系测试:如交集、差集、并集的关系测试

2.2集合的创建方法

  创建集合有两种方法:一种是直接把一堆元素用大括号{}括起来;另一种是用set()。但由于set()创造了的集合内部是无序的,所以如果关注列表元素的前后顺序问题,使用set()这个函数就要提高警惕啦。

set1={1,2,3,4}
set2=set([1,2,3,4])
set1==set2
True

2.3集合的各种内置方法

集合的所有内置方法:
在这里插入图片描述

3.判断语句(要求掌握多条件判断)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.三目表达式

python中的格式:
为真时的结果 if 判定条件 else 为假时的结果 它是先输出结果,再判定条件 。如下面的实例:输出1,如果5大于3,否则输出0。

>>> print(1 if 5>3 else 0)
1

5.循环语句

  • for...in 循环:
    for…in循环,依次把list或tuple中的每个元素迭代出来;
    for x in …循环:就是把每个元素代入变量x,然后执行缩进块的语句。
    如果循环的变量是比较大的范围,可以借助range() 生成一个整数序列,再通过list()函数转换为list。​
  • while 循环
    只要条件满足,就不断循环,条件不满足时退出循环。
    在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。
  • break
    在循环中,break语句的作用是终止当前循环,跳出循环体。
    break的作用是提前结束循环。​
  • continue
    在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
    continue的作用是提前结束本轮循环,并直接开始下一轮循环。​

小结:
  循环是让计算机做重复任务的有效的方法。
  break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
  要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句。
  有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。

Delphi 12.3 作为一款面向 Windows 平台的集成开发环境,由 Embarcadero Technologies 负责其持续演进。该环境以 Object Pascal 语言为核心,并依托 Visual Component Library(VCL)框架,广泛应用于各类桌面软件、数据库系统及企业级解决方案的开发。在此生态中,Excel4Delphi 作为一个重要的社区开源项目,致力于搭建 Delphi 与 Microsoft Excel 之间的高效桥梁,使开发者能够在自研程序中直接调用 Excel 的文档处理、工作表管理、单元格操作及宏执行等功能。 该项目以库文件与组件包的形式提供,开发者将其集成至 Delphi 工程后,即可通过封装良好的接口实现对 Excel 的编程控制。具体功能涵盖创建与编辑工作簿、格式化单元格、批量导入导出数据,乃至执行内置公式与宏指令等高级操作。这一机制显著降低了在财务分析、报表自动生成、数据整理等场景中实现 Excel 功能集成的技术门槛,使开发者无需深入掌握 COM 编程或 Excel 底层 API 即可完成复杂任务。 使用 Excel4Delphi 需具备基础的 Delphi 编程知识,并对 Excel 对象模型有一定理解。实践中需注意不同 Excel 版本间的兼容性,并严格遵循项目文档进行环境配置与依赖部署。此外,操作过程中应遵循文件访问的最佳实践,例如确保目标文件未被独占锁定,并实施完整的异常处理机制,以防数据损毁或程序意外中断。 该项目的持续维护依赖于 Delphi 开发者社区的集体贡献,通过定期更新以适配新版开发环境与 Office 套件,并修复已发现的问题。对于需要深度融合 Excel 功能的 Delphi 应用而言,Excel4Delphi 提供了经过充分测试的可靠代码基础,使开发团队能更专注于业务逻辑与用户体验的优化,从而提升整体开发效率与软件质量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值