python - 从列表中删除一个元素并返回结果

标签 python list

我想生成一个如下所示的列表:

['ret-120','ret-115','ret-110',....'ret-5','ret5',....'ret240']

请注意,列表中没有 ret0 元素。所以我必须将它从范围函数填充的列表中删除。我试过:

['ret'+str(x) for x in list(range(-120,241,5)).remove(0)]

然而这给出了一个错误:

TypeError: 'NoneType' object is not iterable

这是否可以用一行代码来完成?

最佳答案

做你想做的最简单的方法是在你的列表理解中添加一个条件:

lst = ['cumRet'+str(x) for x in xrange(-120,241,5) if x != 0]
# This part:                                       ^^^^^^^^^

我还删除了不必要的列表创建并更改了 range->xrange(注意这个 range->xrange 更改仅适用于 Python2)

关于python - 从列表中删除一个元素并返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29090828/

相关文章:

python - 在 Ubuntu 上安装 OpenCV for Python,得到 ImportError : No module named cv2. cv

python - 如何在对象的属性(也是对象)属性发生变化时自动调用对象的方法?

jQuery - 直系子级

python - 遍历 Python 中的整数列表和列表

python - pywinauto 未检测到子窗口

php - 如何告诉浏览器忘记 htdigest?

python - Python 中的 Microsoft Azure 语音转文本功能的字幕/说明文字

python - 在计算 Python 中的总列表计数时不计算空列表

python - 如何使用二维列表中的列数据创建新列表

java - 在Java中合并多个列表