大家好,我是码农白敬亭,今天想跟大家继续讲讲爬虫那点事儿,按照惯例贴自拍
上次跟大家讲了很多关于Python入门基础,这次我想跟大家讲一下关于Python的高级特性
1.切片
不难看出,以前我们想要取出一个list的前面三个元素,都是通过数组加元素下标的方式取出,但是利用切片我们可以直接通过L[0,3]取出前面三个元素的值,至于L[start,end,step] 这个里面的参数的含义分别是,下标开始,下标结束,下标的阶级数,其中下标开始和下标结束是可以不申明的,L[::2]表示取出整个数组阶级为2的所有元素,值得注意的是
start>end ==>[]
start或许可取出具体元素值
start,end 都可为任意数
2.迭代
迭代含义:可以通过for循环进行遍历的就是迭代
对于判断是否是迭代可以用isinstance(XXX,Iterable)这个方法进行判断
能够迭代的:a.字符串 b.list
不能迭代的:a.数值
3.列表生成式
从图中例子可以看出,
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。循环太过繁琐,可以直接通过列表生成式
4.生成器
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。
有关于Python函数式编程,写次白哥会写到,敬请期待...
如果喜欢白哥的文章请点赞
领取专属 10元无门槛券
私享最新 技术干货