我需要解决我正在解决的问题。它需要我编写一个输入列表并删除其中任何空列表的函数。这是我到目前为止的内容:
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)
我不知道我在哪里错了。任何帮助将不胜枚举!
答案 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]