添加和删​​除列表

时间:2018-07-19 18:56:42

标签: python python-3.x

我需要解决我正在解决的问题。它需要我编写一个输入列表并删除其中任何空列表的函数。这是我到目前为止的内容:

a = []
b = []

def listmaking(a):
    List = []
    List = input.append()
    List = input.split(" ")
    return List

    for item in a:
        if item!=[]:
            b.append(item)
    print(b)

我不知道我在哪里错了。任何帮助将不胜枚举!

3 个答案:

答案 0 :(得分:3)

要从列表中过滤出空列表,您要做的就是

new_list = [obj for obj in old_list if obj != []]

例如,

old_list = [[], (), 0, 8, 'hello', '']
new_list = [obj for obj in old_list if obj != []]
print(new_list)

输出

[(), 0, 8, 'hello', '']

答案 1 :(得分:0)

由于您似乎是一个初学者,可能很难理解一线Python代码,因此以下是对您的代码的修改:

old_list = [[], (), 0, 8, 'hello', '']

def listmaking(a):
    b = []
    for item in a:
        if item!=[]:
            b.append(item)
    return b

print(listmaking(old_list))

输出:[(), 0, 8, 'hello', '']

答案 2 :(得分:0)

@ rody401 ,您可以尝试以下代码。

def listmaking(l):
    b = [item for item in l if item != []]
    return b

b = listmaking ([44, 67, 87, 43, [], 3, [], 2]) 
print(b) # [44, 67, 87, 43, 3, 2]