我正在实施新的迭代器。这个新迭代器的构造函数会得到一个迭代器,我的想法是我想添加迭代对象的所有条目,即迭代器已连接到,但迭代器没有添加条目。这是我的代码:publicPredicateIterator(Iteratoriter,Predicatepred,Targument){ListbuffList=newLinkedList();while(iter.hasNext()){buffList.add(iter.next());}}当我调试它时,它告诉我,Bufflist的大小为0,而iter.next()为test1,但更多的是。谢谢你的帮助。看答案您的buffList是构造函数的局部变量,
考虑以下功能,其输出应该是一系列迭代的笛卡尔产物:defcart(*iterables):out=((e,)foreiniterables[0])foriterableiniterables[1:]:out=(e1+(e2,)fore1inoutfore2initerable)returnout当发电机综合替换为列表综合时,工作正常。当只有2个迭代时,也有效。但是当我尝试print(list(cart([1,2,3],'ab',[4,5])))我明白了[(1,4,4),(1,4,5),(1,5,4),(1,5,5),(2,4,4),(2,4,5),(2,5,4),(2,5,5),(3,4,4)