一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集 ...
分类:
编程语言 时间:
2020-07-22 21:03:06
阅读次数:
91
生成器 生成器类似返回值为数组的一个函数,这个函数可以接受参数,可被调用,但只能产生一个值,所以大大节省内存。 生成器表达式的语法非常简单,只需要将列表推导式的中括号改成小括号就可以了 1 [x+x for x in range(10) if x%2==0]#会打印出整个列表 [0, 4, 8, 1 ...
分类:
编程语言 时间:
2020-07-22 11:30:14
阅读次数:
56
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。 使用python的with语句 实现在处理文件时,无论是否抛出了异... ...
分类:
编程语言 时间:
2020-07-21 09:48:17
阅读次数:
67
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 1.迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完 ...
分类:
编程语言 时间:
2020-07-21 01:27:54
阅读次数:
111
链表这一种数据结构很常见,拥有良好的动态操作性能,比如插入,删除,但是对于静态操作,比如随机访问不太友好,链表的访问只能通过迭代器来查找。 这次主要说明一下链表的删除,其中有两种删除方式分别为:name.erase(const_iterator __first, const_iterator __l ...
分类:
其他好文 时间:
2020-07-19 23:11:50
阅读次数:
51
一、可迭代对象 可以直接用于 for 循环的对象统称为可迭代对象 ——一类是集合数据类型,如 list、tuple、dict、set、str等 ——一类是 generator,包括生成器和带 yield 的 generator function。 生成器举例:b = ( x for x in ran ...
分类:
编程语言 时间:
2020-07-19 11:48:09
阅读次数:
69
前言 生成器generator 生成器的本质是一个迭代器(iterator) 要理解生成器,就要在理解一下迭代,可迭代对象,迭代器,这三个概念 iteration, iterable, iterator 迭代(iteration):在python中迭代通常是通过for...in...来实现的.而且只 ...
分类:
编程语言 时间:
2020-07-18 19:48:44
阅读次数:
68
# iterable 》》》》》 。迭代器__iter__ re = range(5).__iter__() print(re) # <range_iterator object at 0x034A0FE0> 生成迭代器 print(re.__next__()) print(re.__next__( ...
分类:
其他好文 时间:
2020-07-17 19:20:28
阅读次数:
48
# iterable 》》》》》 。迭代器__iter__ re = range(5).__iter__() print(re) # <range_iterator object at 0x034A0FE0> 生成迭代器 print(re.__next__()) print(re.__next__( ...
分类:
其他好文 时间:
2020-07-17 16:12:34
阅读次数:
47
一、可迭代对象(iterable) 我们知道,在Python世界里,一切皆对象。对象根据定义的维度,又可以分为各种不同的类型,比如:文件对象,字符串对象,列表对象。。。等等。 那什么对象才能叫做可迭代对象呢?一句话:“实现了__inter__方法的对象就叫做可迭代对象”,__inter__方法的作用 ...
分类:
其他好文 时间:
2020-07-16 21:32:43
阅读次数:
39