【发布时间】:2018-06-23 10:26:22
【问题描述】:
【问题讨论】:
标签: python python-3.x list
【问题讨论】:
标签: python python-3.x list
由于空列表评估为 False 和 bool,您可以使用 filter 和 None。注意L 可以是任何可迭代的列表,您不必以列表列表开头。
L = [['JOB', 'APPLIED', 'FOR'], [], [], [], ['TEST'], ['SOMETHING ELSE']]
res = list(filter(None, L))
print(res)
[['JOB', 'APPLIED', 'FOR'], ['TEST'], ['SOMETHING ELSE']]
【讨论】:
l = [['a','b'],[],['c','d']]
print([i for i in l if i])
输出:
[['a', 'b'], ['c', 'd']]
【讨论】:
首先将所有数据存储到一个列表中,以便您的新列表看起来像
list=[[],[],[],['Job Applied for'],[],[],['My name']]
然后写
for i in list:
if i==[]:
list.remove(i)
【讨论】:
使用传统的 for 循环:
x=[[9,8,7],[2,3],[5,7],[],["a","b"],[]]
y=[]
for i in range(0,len(x)):
if len(x[i])!=0:
y.append(x[i])
print(y)
输出:
[[9, 8, 7], [2, 3], [5, 7], ['a', 'b']]
使用列表理解(简化方式):
x=[[9,8,7],[2,3],[5,7],[],["a","b"],[],[1,2,3],[]]
y=[ i for i in x if i ]
print(y)
结果:
[[9, 8, 7], [2, 3], [5, 7], ['a', 'b'], [1, 2, 3]]
【讨论】: