【Python操作基础】——字典,迭代器和生成器

简介: 【Python操作基础】——字典,迭代器和生成器

【Python操作基础】系列——字典/迭代器和生成器操作,建议收藏!

该篇文章首先利用Python展示了使用字典类型数据的相关操作以及迭代器和生成器操作,包括字典的定义方法、主要特征;迭代器和生成器中的可迭代对象与迭代器、生成器与迭代器等。

1 字典

1.1 定义方法

 运行程序:

myDict1 = {'name': 'Jerry', 'age': 23,9:20}
myDict1  
myDict2={2:2,2:3,4:5}
myDict2

运行结果:

{'name': 'Jerry', 'age': 23, 9: 20}
{2: 3, 4: 5}

1.2 主要特征

  运行程序:

myDict1 = {'name': 'Jerry', 'age': 23,9:20}
myDict1['name'] #提取key对应值
myDict1[9]  ##提取key对应值
20
myDict1 = {'name': 'Jerry', 'age': 23,9:20}  
myDict1['name']="chao"
myDict1  #修改key对应值
#dct3={[2,3]:[4,4], 5:5} #报错,字典不能为不可嘻哈对象

运行结果:

'Jerry'
20
20
{'name': 'chao', 'age': 23, 9: 20}
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-45-4f59b769dfbf> in <module>
      8 myDict1  #修改key对应值
      9 
---> 10 dct3={[2,3]:[4,4], 5:5}
TypeError: unhashable type: 'list'

2 迭代器与生成器

2.1 可迭代对象与迭代器

 运行程序:

#能接收可迭代对象的函数都可以接收迭代器,可迭代对象不一定是迭代器
myList=[1,2,3,4,5]
#next(myList)   #报错,myLit虽属于“可迭代对象”,但不是“迭代器”
myIterator=iter(myList)#可利用iter将可迭代对象转化为迭代器
print(next(myIterator))
print(next(myIterator))
print(next(myIterator))

运行结果:

1
2
3

2.2 生成器与迭代器

  运行程序:

def myGen():    #生成器:生成一个新的迭代器函数
    x=range(1,11)
    for i in x:
        yield  i+2 #生成器不用return函数,而用yield函数
myGen()
for x in myGen():
    print(x,end=",")

运行结果:

<generator object myGen at 0x000002CD427E32A0>
3,4,5,6,7,8,9,10,11,12,


相关文章
|
6天前
|
人工智能 数据安全/隐私保护 Python
小红书图文生成器,小红书AI图文生成工具,python版本软件
Pillow库自动生成符合平台尺寸要求的配图7;3)利用Playwright实现自动化发布流程6。
|
18天前
|
数据采集 NoSQL 调度
当生成器遇上异步IO:Python并发编程的十大实战兵法
本文通过十大实战场景,详解Python中生成器与异步IO的高效结合。从协程演进、背压控制到分布式锁、性能剖析,全面展示如何利用asyncio与生成器构建高并发应用,助你掌握非阻塞编程核心技巧,提升I/O密集型程序性能。
46 0
|
3月前
|
开发者 Python
Python代码设计:使用生成器替代回调函数
本文探讨了在处理大文件时计算MD5值的实现方法,并展示了如何通过回调函数、生成器和类等方式输出进度。首先介绍了通过回调函数更新进度的方式,然后优化为使用生成器简化调用者代码,最后对比了两种方式的优缺点。虽然生成器使代码更简洁,但在异常处理上不如回调函数灵活。作者通过实例分析,帮助开发者根据需求选择合适的方式。
79 16
|
4天前
|
存储 API 数据库
自动发短信的软件,批量自动群发短信,手机号电话号生成器【python框架】
这个短信群发系统包含以下核心功能: 随机手机号生成器(支持中国号码) 批量短信发送功能(使用Twilio API)
|
1月前
|
数据采集 搜索推荐 调度
当生成器遇上异步IO:Python并发编程的十大实战兵法
生成器与异步IO是Python并发编程中的两大利器,二者结合可解决诸多复杂问题。本文通过十个真实场景展示其强大功能:从优雅追踪日志文件、API调用流量整形,到实时数据流反压控制、大文件分片处理等,每个场景都体现了生成器按需生成数据与异步IO高效利用I/O的优势。两者配合不仅内存可控、响应及时,还能实现资源隔离与任务独立调度,为高并发系统提供优雅解决方案。这种组合如同乐高积木,虽单个模块简单,但组合后却能构建出复杂高效的系统。
49 0
|
4月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
6月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
198 2
|
8月前
|
大数据 数据处理 开发者
Python中的迭代器和生成器:不仅仅是语法糖####
本文探讨了Python中迭代器和生成器的深层价值,它们不仅简化代码、提升性能,还促进了函数式编程风格。通过具体示例,揭示了这些工具在处理大数据、惰性求值及资源管理等方面的优势。 ####
|
8月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
102 1
|
8月前
|
JavaScript 前端开发 算法
python中的列表生成式和生成器
欢迎来到瑞雨溪的博客,这里是一位热爱JavaScript和Vue的大一学生的天地。通过自学前端技术2年半,现正向全栈开发迈进。如果你从我的文章中受益,欢迎关注,我将持续更新高质量内容,你的支持是我前进的动力!🎉🎉🎉
94 0

热门文章

最新文章

推荐镜像

更多