python - IPython Notebook 中的列表理解返回 [None, None, None...]

标签 python python-2.7 list-comprehension jupyter-notebook ipython-notebook

我希望在 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/

相关文章:

python - Python 中的频率

python - 将两个数据帧中的列合并为一个

python - 警告 : Unable to load SSH config file '/root/.ssh/config' in fabric

Python3 导入相对或绝对的正确方法?

python - 使用 if 和 for 循环进行列表理解

python - 性能:Pandas index.intersection() 与集合交集

python-2.7 - app_identity_service.GetAccessToken() 需要比可用配额更多的配额

python - 转义列表理解中的 "\n"新行与 Python 中的 for 循环

python - 基于另一个字典的 bool 创建字典列表的最 Pythonic 方法

python - csr_matrix 的点积导致段错误