草庐IT

non-iterator

全部标签

python - 类型错误 : 'float' object not iterable

我在Windows7上使用python3.2.2,我正在尝试创建一个接受7个数字的程序,然后告诉用户有多少是正数,有多少是负数,有多少是零。这是我到目前为止所得到的:count=7foriincount:num=float(input("Typeanumber,anynumber:"))ifnum==0:zero+=1elifnum>0:positive+=1elifnum但是当我运行代码时,我得到了TypeError:'float'objectisnotiterable如果我将第3行中的float替换为int,我会遇到同样的问题,只是它表示“int”对象不可迭代。我也尝试将count

python - 这个类如何在不实现 "__iter__"的情况下实现 "next"方法?

我在django.template中有以下代码:classTemplate(object):def__init__(self,template_string,origin=None,name=''):try:template_string=smart_unicode(template_string)exceptUnicodeDecodeError:raiseTemplateEncodingError("TemplatescanonlybeconstructedfromunicodeorUTF-8strings.")ifsettings.TEMPLATE_DEBUGandoriginis

python - 这个类如何在不实现 "__iter__"的情况下实现 "next"方法?

我在django.template中有以下代码:classTemplate(object):def__init__(self,template_string,origin=None,name=''):try:template_string=smart_unicode(template_string)exceptUnicodeDecodeError:raiseTemplateEncodingError("TemplatescanonlybeconstructedfromunicodeorUTF-8strings.")ifsettings.TEMPLATE_DEBUGandoriginis

Python 迭代器 : What does iglob( )'s Iterator provide over glob()' s list?

给定一段代码:fromglobimportglob,iglobforfninglob('/*'):printfnprint''forfniniglob('/*'):printfn阅读documentation对于glob,我看到glob()返回文件的基本列表和iglob一个迭代器。但是,我可以对两者进行迭代,并且它们每个都返回相同的文件列表。我已阅读有关Iterator的文档但它并没有真正阐明这个主题!那么返回Iterator的iglob()对glob()的列表有什么好处?我是否比我的老friend获得了额外的功能? 最佳答案 文档

Python 迭代器 : What does iglob( )'s Iterator provide over glob()' s list?

给定一段代码:fromglobimportglob,iglobforfninglob('/*'):printfnprint''forfniniglob('/*'):printfn阅读documentation对于glob,我看到glob()返回文件的基本列表和iglob一个迭代器。但是,我可以对两者进行迭代,并且它们每个都返回相同的文件列表。我已阅读有关Iterator的文档但它并没有真正阐明这个主题!那么返回Iterator的iglob()对glob()的列表有什么好处?我是否比我的老friend获得了额外的功能? 最佳答案 文档

iteration - 以 n 的倍数迭代 python 序列?

如何按惯用方式批量处理序列的元素?例如,对于序列“abcdef”和批量大小为2,我想执行以下操作:forx,yin"abcdef":print"%s%s\n"%(x,y)abcdef当然,这不起作用,因为它期望列表中的单个元素本身包含2个元素。在批处理中处理列表中的下n个元素或较大字符串中长度为n的子字符串(两个类似的问题)的好、短、干净、pythonic的方法是什么? 最佳答案 生成器函数会很简洁:defbatch_gen(data,batch_size):foriinrange(0,len(data),batch_size):y

iteration - 以 n 的倍数迭代 python 序列?

如何按惯用方式批量处理序列的元素?例如,对于序列“abcdef”和批量大小为2,我想执行以下操作:forx,yin"abcdef":print"%s%s\n"%(x,y)abcdef当然,这不起作用,因为它期望列表中的单个元素本身包含2个元素。在批处理中处理列表中的下n个元素或较大字符串中长度为n的子字符串(两个类似的问题)的好、短、干净、pythonic的方法是什么? 最佳答案 生成器函数会很简洁:defbatch_gen(data,batch_size):foriinrange(0,len(data),batch_size):y

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 - 为什么正则表达式的 "non-capturing"组不起作用?

在下面的代码段中,非捕获组"(?:aaa)"应该在匹配结果中被忽略,结果应该是"_bbb"而已。但是,我在匹配结果中得到"aaa_bbb";只有当我指定group(2)时它才会显示"_bbb".>>>importre>>>s="aaa_bbb">>>print(re.match(r"(?:aaa)(_bbb)",s).group())aaa_bbb 最佳答案 我认为您误解了“非捕获组”的概念。非捕获组匹配的文本仍会成为整个正则表达式匹配的一部分。两个正则表达式(?:aaa)(_bbb)和正则表达式(aaa)(_bbb)返回aaa_b