Skip to main content
 首页 » 编程设计

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

2025年05月04日112yxwkf

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

['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)