python中经常用到迭代,但是对于迭代器、生成器一直处于模糊的理解,查看了不少资料,感觉有些清晰了。 什么是迭代 通过for循环不断的拿到list中的值就是迭代,迭代就是循环做重复的事情。 可以通过for循环进行迭代的对象称为可迭代对象(Iterable),如何判断是否是可迭代对象,可以用coll ...
分类:
编程语言 时间:
2019-11-21 16:48:13
阅读次数:
70
生成器属于迭代器 适合迭代器对象:list、dict、tuple、set、str 不适合迭代对象:int、float、bool 迭代器例子: a = [0,1,2,3] iter(a) # 用iter()方法生成迭代对象 print(next(a)) #用next来查询,直到超范围 判读对象是否符合 ...
分类:
编程语言 时间:
2019-11-21 10:08:36
阅读次数:
72
总结: 简单理解: 1.可以直接作用于for循环的数据类型有几种: 一类是集合类型:list,tuple,dict,set,str等 一类是generator,包括生成器和带yield的generator function2.这些可以直接作用于for循环的对象统称为可迭代对象:iterable 可以 ...
分类:
其他好文 时间:
2019-11-20 12:20:13
阅读次数:
54
一:集合 主要的集合特质 scala集合中重要的特质: Trait(Iterable) Trait(Seq) Trait(Set) Trait(Map) Trait(IndexedSeq) Trait(SoredSet) Trait(SoredMap) Seq是一个有先后次序的值的序列,比如数组和列 ...
分类:
其他好文 时间:
2019-11-17 18:01:18
阅读次数:
81
一、列表推导式 下面只是秀操作,不推荐使用,否则只有你自己看得懂了。 ...
分类:
其他好文 时间:
2019-11-14 22:04:17
阅读次数:
111
迭代器 1,可迭代对象 内部含有__iter__方法的对象是可迭代对象 遵循可迭代协议 dir() 检查对象含有什么方法 dir()会返回一个列表,这个列表中含有该对象的以字符串的形式所有方法名。 这样我们就可以判断python中的一个对象是不是可迭代对象了 print(dir("abc")) 判断 ...
分类:
编程语言 时间:
2019-11-14 09:26:35
阅读次数:
59
1、内建函数reversed()li=[1,2,3,4,5,6]a=list(reversed(li))print(a)注意:reversed()函数返回的是一个迭代器,而不是一个List,所以需要list函数转换一下2、内建函数sorted()sorted()语法sorted(iterable[,cmp[,key[,reverse]]])参数说明:iterable--可迭代对象。cmp--比较的
分类:
编程语言 时间:
2019-11-07 20:47:11
阅读次数:
153
有的时候,我们想基于迭代器的某个特定元素开始进行迭代。也就是说,在这个元素之前的元素都跳过。 itertools提供了一个dropwhile方法: itertools.dropwhile(predicate, iterable) Make an iterator that drops element ...
分类:
其他好文 时间:
2019-11-06 22:58:04
阅读次数:
176
[TOC] 面试基础1 1 、sorted和sort这俩有什么区别 Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。 sort是容器的函数,用List的成员函数sort进行排序 sorted是Python的内建函 ...
分类:
其他好文 时间:
2019-10-31 23:22:40
阅读次数:
100
zip函数的原型为:zip([iterable, …]) 参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时, ...
分类:
编程语言 时间:
2019-10-30 18:31:52
阅读次数:
84