有一些函数需要了解下,这些函数在其他语言也是有类似的存在的。
切片 - 对一个list或者tuple取它的一部分内容出来。正常大家应该是想我通过循环,找到符合条件的内容放倒新的list或者tuple中。可以有更简单的做法,python提供了Slice操作符:L[0:3]。
列表生成式 -1层循环的[x * x for x in range(1,11)] --> [1,4,9,16,25,36,49,64,81,100]
1层循环的加判断[x * x for x in range(1,11) if x%2 == 0] -->[4,16,36,64,100]
2层循环的[x + n for m in 'abc' for n in 'xyz']
这只是应用的一些技巧,多找几个for循环练练手就没问题了。
生成器 -generator,简单的改造是把列表生成式的[]更改为()。它的作用是什么呢 -- 保存算法。
例如你以后一个100W大的数据集合,它们需要很大的内存空间,但是现在又用不到。我
们就保存它的算法。后面要用到就用这个生成器来生成数据就可以了。而且可以做到用多
少生成多少,节约大量的空间。
另外一种定义方法-yield,如果一个函数包含这个关键字,那么它就不是普通的函数,而是
一个generator
迭代器 -可以用于for循环的对象都可以叫做迭代对象:Iterable。通过isinstance()方法判断是否是
Iterable。
可以被next()函数调用并返回下一个值的对象是Iterator-迭代器。
它们的区别,迭代器代表着可以无限大的数据流,可以一直计算下去,迭代对象是一个有
大小的对象。
这部分点就这些了。