我希望在 IPython Notebook 中使用列表理解生成枚举字符串列表。它有效,但给了我一个我不理解的奇怪输出。
cols = []
[cols.append('Value'+str(hour)) for hour in xrange(1,25)]
运行单元格后,cols
返回正确的列表 [Value1,Value2...Value24]
,但在我的笔记本中,我收到一个输出列表 24 无
。 Example photo
代码可以运行,但是奇怪的输出让我觉得我做错了什么,看起来很草率。为什么我会得到这个输出,有没有办法摆脱它?
最佳答案
您在列表中看到的 None
是评估函数调用 cols.append('Value'+str(hour))
的结果。您会看到带有正确条目的结果 cols
,因为它们被追加,但是在这个列表理解方法中生成的列表实际上只包含评估 append()
的结果很多次。
改为尝试 cols = ['Value'+str(hour) for hour in xrange(1,25)]
关于python - IPython Notebook 中的列表理解返回 [None, None, None...],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46126295/