【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,