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

本文介绍了Python中字典的定义方法、主要特征,以及迭代器与生成器的概念,包括可迭代对象与迭代器的转换,以及生成器如何通过yield函数实现。
摘要由CSDN通过智能技术生成

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972

   个人介绍: 研一|统计学|干货分享
         擅长Python、Matlab、R等主流编程软件
         累计十余项国家级比赛奖项,参与研究经费10w、40w级横向

【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,
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值