使用相同的值计算嵌套字典中键的出现次数,如果出现次数超过x,则使用python删除

2024-09-26 18:08:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前有一本Python词典。他们可能会这样做:

stocks = {
    "VPER": {
        "mentions": 6,
        "score": 120,
        "currentPrice": 0.0393,
    },
    "APPL": {
        "mentions": 16,
        "score": 120,
        "currentPrice": 0.0393,
    },
    "NIO": {
        "mentions": 36,
        "score": 120,
        "currentPrice": 0.0393,
    }
}

我试图做的是查看字典并计算mentions equals 5的次数,如果该次数为10,则删除嵌套字典(APPL、NIO等)。因此,如果我将NIO, APPL, TSLA, EPR, EKG, LPD, TTL, AGR, JKR, POP作为嵌套字典,并且它们的mentions键都设置为5值,那么我希望将它们全部从stocks字典中删除

我真的不知道如何去做这件事,任何文件,建议或例子将不胜感激

澄清逻辑: 如果mentions: 5出现十次,则删除all嵌套字典,其中提及的次数等于五次


Tags: 字典次数词典scorementionsekgstocksnio
2条回答

您将获得等于5的提及总数,其中:

sum(1 for k,v in stocks.items() if v["mentions"]==5)

在该条件下,您可以使用以下命令删除嵌套的dict:

stocks={k:v for k,v in stocks.items() if v["mentions"]!=5}
counter = sum(value["mentions"] == 5 for key, value in stocks.items())
if counter > 10:
    stocks = {key: value for key, value in stocks.items() if value["mentions"] != 5}

相关问题 更多 >

    热门问题