从某些元素中删除子列表(python)

时间:2021-06-02 19:07:33

标签: python python-3.x list dictionary

我有一本包含列表列表的字典。我希望删除具有特定 '' 元素的子列表。

我在下面列出了我如何尝试转发此内容。我在删除整个列表时遇到问题。在下面的代码中,元素 '' 已被删除


d = {'af':[['info01','info02'],['info03','info04'],['info05','']]}
print(d['af'])

af2 = any('' in sublist for sublist in d['af'])
af_final = [[element for element in sub if element != ''] for sub in d['af']]


if af2:
  d['af'] = af_final

print(af_final)

输出(打印)

[['info01', 'info02'], ['info03', 'info04'], ['info05', '']]
[['info01', 'info02'], ['info03', 'info04'], ['info05']]

我希望输出为


[['info01', 'info02'], ['info03', 'info04']]

1 个答案:

答案 0 :(得分:2)

听起来您正在寻找这样的东西:

d = {
    'af':[
        ['info01', 'info02'],
        ['info03', 'info04'],
        ['info05', ''],
    ]
}
print(d['af'])
# [['info01', 'info02'], ['info03', 'info04'], ['info05', '']]

af2 = any('' in sublist for sublist in d['af'])

af_final = [sublist for sublist in d['af'] if '' not in sublist]

if af2:
  d['af'] = af_final

print(af_final)
# [['info01', 'info02'], ['info03', 'info04']]