草庐IT

iterable

全部标签

python - cx_Oracle : How do I iterate over a result set?

有几种方法可以迭代结果集。各自的取舍是什么? 最佳答案 规范的方法是使用内置的游标迭代器。curs.execute('select*frompeople')forrowincurs:printrow您可以使用fetchall()一次获取所有行。forrowincurs.fetchall():printrow使用它来创建一个包含返回值的Python列表会很方便:curs.execute('selectfirst_namefrompeople')names=[row[0]forrowincurs.fetchall()]这对于较小的结果集

python - cx_Oracle : How do I iterate over a result set?

有几种方法可以迭代结果集。各自的取舍是什么? 最佳答案 规范的方法是使用内置的游标迭代器。curs.execute('select*frompeople')forrowincurs:printrow您可以使用fetchall()一次获取所有行。forrowincurs.fetchall():printrow使用它来创建一个包含返回值的Python列表会很方便:curs.execute('selectfirst_namefrompeople')names=[row[0]forrowincurs.fetchall()]这对于较小的结果集

python - itertools中chain和chain.from_iterable有什么区别?

我在互联网上找不到任何有效的例子,我可以看到它们之间的区别以及为什么要选择一个而不是另一个。 最佳答案 第一个接受0个或多个参数,每个参数是一个可迭代对象,第二个接受一个参数,该参数预计会产生可迭代对象:fromitertoolsimportchainchain(list1,list2,list3)iterables=[list1,list2,list3]chain.from_iterable(iterables)但iterables可以是任何产生可迭代对象的迭代器:defgen_iterables():foriinrange(10

python - itertools中chain和chain.from_iterable有什么区别?

我在互联网上找不到任何有效的例子,我可以看到它们之间的区别以及为什么要选择一个而不是另一个。 最佳答案 第一个接受0个或多个参数,每个参数是一个可迭代对象,第二个接受一个参数,该参数预计会产生可迭代对象:fromitertoolsimportchainchain(list1,list2,list3)iterables=[list1,list2,list3]chain.from_iterable(iterables)但iterables可以是任何产生可迭代对象的迭代器:defgen_iterables():foriinrange(10

python - 计算生成器/迭代器中项目数的最短方法是什么?

如果我想要迭代中的项目数而不关心元素本身,那么pythonic的方法是什么?现在,我会定义defilen(it):returnsum(itertools.imap(lambda_:1,it))#orjustmapinPython3但我知道lambda接近被认为是有害的,而lambda_:1肯定不漂亮。(这个用例是计算文本文件中匹配正则表达式的行数,即grep-c。) 最佳答案 在Python2中调用itertools.imap()或在Python3中调用map()可以用等效的生成器表达式代替:sum(1fordummyinit)这也

python - 计算生成器/迭代器中项目数的最短方法是什么?

如果我想要迭代中的项目数而不关心元素本身,那么pythonic的方法是什么?现在,我会定义defilen(it):returnsum(itertools.imap(lambda_:1,it))#orjustmapinPython3但我知道lambda接近被认为是有害的,而lambda_:1肯定不漂亮。(这个用例是计算文本文件中匹配正则表达式的行数,即grep-c。) 最佳答案 在Python2中调用itertools.imap()或在Python3中调用map()可以用等效的生成器表达式代替:sum(1fordummyinit)这也

python - 与 any() 函数相反

Python内置函数any(iterable)可以帮助快速检查iterable中是否有任何bool(element)为True输入。>>>l=[None,False,0]>>>any(l)False>>>l=[None,1,0]>>>any(l)True但是Python中有没有一种优雅的方式或函数可以实现any(iterable)的相反效果?也就是说,如果任何bool(element)为False则返回True,如下例所示:>>>l=[True,False,True]>>>any_false(l)>>>True 最佳答案 还有all

python - 与 any() 函数相反

Python内置函数any(iterable)可以帮助快速检查iterable中是否有任何bool(element)为True输入。>>>l=[None,False,0]>>>any(l)False>>>l=[None,1,0]>>>any(l)True但是Python中有没有一种优雅的方式或函数可以实现any(iterable)的相反效果?也就是说,如果任何bool(element)为False则返回True,如下例所示:>>>l=[True,False,True]>>>any_false(l)>>>True 最佳答案 还有all

python - 如何为容器对象实现 __iter__(self) (Python)

我已经编写了一个自定义容器对象。根据thispage,我需要在我的对象上实现这个方法:__iter__(self)但是,在跟进指向IteratorTypes的链接后在Python引用手册中,没有给出如何实现自己的示例。有人可以发布一个片段(或资源链接),说明如何做到这一点?我正在编写的容器是一个映射(即通过唯一键存储值)。dicts可以像这样迭代:fork,vinmydict.items()在这种情况下,我需要能够在迭代器中返回两个元素(一个元组?)。仍然不清楚如何实现这样的迭代器(尽管已经提供了几个答案)。有人可以详细说明如何为类似map的容器对象实现迭代器吗?(即像字典一样的自定义

python - 如何为容器对象实现 __iter__(self) (Python)

我已经编写了一个自定义容器对象。根据thispage,我需要在我的对象上实现这个方法:__iter__(self)但是,在跟进指向IteratorTypes的链接后在Python引用手册中,没有给出如何实现自己的示例。有人可以发布一个片段(或资源链接),说明如何做到这一点?我正在编写的容器是一个映射(即通过唯一键存储值)。dicts可以像这样迭代:fork,vinmydict.items()在这种情况下,我需要能够在迭代器中返回两个元素(一个元组?)。仍然不清楚如何实现这样的迭代器(尽管已经提供了几个答案)。有人可以详细说明如何为类似map的容器对象实现迭代器吗?(即像字典一样的自定义