我一直在学习 learnpython.org 上的教程,到目前为止,我发现一切都相对简单。
当我遇到关于列表理解的问题时,我陷入了困境。我知道它是如何工作的。下面是被问到的问题:
使用列表推导,从列表“numbers”中创建一个名为“newlist”的新列表,该列表仅包含列表中的正数,作为整数。
并且提供的代码:
numbers = [34.6, -203.4, 44.9, 68.3, -12.2, 44.6, 12.7]
newlist = []
print newlist
我对这个问题的回答如下:
newlist = [x for x in numbers if x > 0]
这会从数组中返回正确的数字,但每个项目大约为 15 dp。我如何只得到整数而不是所有小数位。
例如,预期的答案是:
[34、44、68、44、12]
但是我最终得到:
[34.600000000000001, 44.899999999999999, 68.299999999999997, 44.600000000000001, 12.699999999999999]
如果有人能够阐明我哪里出错了,那将不胜感激。
干杯,
杰米