【问题标题】:remove list item in from nested dictionary in python从python中的嵌套字典中删除列表项
【发布时间】:2022-01-12 17:02:48
【问题描述】:

我有一个包含列表的嵌套字典。如果它是字符串“也许”,我想删除一个列表项。我尝试在下面使用一个衬里,但它并没有删除“可能”的值。有人能指出我正确的方向吗? 谢谢!

# my dictionary 
d =  {'x':{'a':['yes', 'no', 'maybe'], 'b': ['yellow', 'maybe']}, 'y':{'a': ['sometimes', 'maybe'], 'c':['no']}}#, 'fop':{'a':0.145, 'b': numpy.nan, 'c':0.485}}


# my attempt
{ k: {a: b for a, b in v.items() if b != 'maybe'} for k, v in d.items()}

【问题讨论】:

  • b 是一个列表,而不是一个字符串。您没有遍历列表元素。

标签: python dictionary


【解决方案1】:

问题是您 b 是一个列表而不是该列表的元素,因此您必须在该列表中找到字符串。

{ k: {a: [bb for bb in b if bb != 'maybe' ] for a, b in v.items() } for k, v in d.items()}

如果你想用列表推导来做到这一点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2021-09-22
    • 2022-01-09
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多