Python3:报错generator object genexpr at 0x00000*********
下面是报错的代码:
print(len(i for i in (iris_dataset[‘target’])if i == 1))
原因是生成迭代器(这里不用太注意),
print(len([i for i in (iris_dataset[‘target’])if i == 1]))
上面是正确的代码,用[]括起来,成功输出target为1的个数,50.
本文介绍了Python3中关于生成器表达式与列表推导式的常见错误,通过实例展示了当使用生成器表达式时不加括号导致的报错`generatorobjectgenexprat0x00000*********`。正确做法是将生成器表达式用方括号包围,如`[iforiin(iris_dataset['target'])ifi==1]`,这样可以正确计算并输出目标值为1的元素个数。
下面是报错的代码:
print(len(i for i in (iris_dataset[‘target’])if i == 1))
原因是生成迭代器(这里不用太注意),
print(len([i for i in (iris_dataset[‘target’])if i == 1]))
上面是正确的代码,用[]括起来,成功输出target为1的个数,50.
838

被折叠的 条评论
为什么被折叠?
