删除列表中的项目

时间:2018-01-28 02:58:31

标签: python list

对于作业,我想删除列表中的所有不需要的项目。这是一个应该从列表中删除所有1的代码示例;但是,当我运行它时,它返回None。这是为什么?

v=[1,2,1,3,1,4,5,55,1]

for i in v:
    if i==1:
        result=v.remove(1)
    else:
        continue
print (result)

2 个答案:

答案 0 :(得分:0)

list.remove()改变列表就地method itself returns Nonethe docs。打印v以查看结果。

来自1

  

您可能已经注意到,只修改列表的insertremovesort等方法没有打印返回值 - 它们会返回默认值Nonehere这是Python中所有可变数据结构的设计原则。

答案 1 :(得分:0)

您可以过滤列表:

Python 2:

v = filter(lambda x: x != 1, v)

Python 3:

v = filter((1).__ne__, v)

问题中的代码段基本上等同于:

while 1 in v: 
    v.remove(1)