gpt4 book ai didi

python - Redis:如何有效地检查空嵌套键

转载 作者:可可西里 更新时间:2023-11-01 11:14:07 25 4
gpt4 key购买 nike

我的 redis 存储中有一个嵌套字典,需要找到 key_2 == "" 中的所有记录,然后在 key_3 中返回值。然后,所有 key_3 值将用于运行 mysql 查询以获取 key_2 值并更新 redis 存储。

[
...
task_44903: {"key_1": 44903, "key_2": "", "key_3": 1}
task_44229: {"key_1": 44229, "key_2": 4, "key_3": 2}
...
]

我目前的实现方式是

    keys = r.keys(pattern='task_*')
key_3 = set()
for key in keys:
values = r.get(key).decode('utf-8')
values = ast.literal_eval(values)
if values['key_2'] == '':
key_3.add(values['key_3'])

是否有更简洁的方法来实现这一目标?

最佳答案

我不确定这是不是你想要的。

data = [
{'task_44903': {"key_1": 44903, "key_2": "", "key_3": 1}},
{'task_44229': {"key_1": 44229, "key_2": "", "key_3": 1}},
{'task_44230': {"key_1": 44229, "key_2": "", "key_3": 2}}
]

set([ v['key_3'] for item in data for _, v in item.items() if v['key_2']==""])

输出

{1, 2}

关于python - Redis:如何有效地检查空嵌套键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57764524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com