【问题标题】:remove sublist from certain element (python)从某个元素中删除子列表(python)
【发布时间】:2021-06-02 19:07:33
【问题描述】:

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

下面我说明了我是如何转发这个的。我无法删除整个列表。在下面的代码中,元素'' 已被删除


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']]

【问题讨论】:

  • 应该输出是什么?
  • @ScottHunter 添加到问题

标签: python python-3.x list dictionary


【解决方案1】:

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

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']]

【讨论】:

  • 谢谢!我正在迭代子列表的元素。您的代码遍历子列表以查找 '' 元素,对吗?
  • 没错。检查每个子列表是否包含'' 作为项目,并且仅当它子列表被添加到主列表中
猜你喜欢
  • 2018-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
相关资源
最近更新 更多