如何检查字典是否为空,以及字典是否类似于python中的{“”:“”}

2024-06-08 01:54:42 发布

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

我正在处理AWS_SECRETS,希望检查是否已为此创建了SECRETS值(键/值对),我正在使用boto3脚本,该脚本返回一个空字典,如下所示

{"":""}

因为没有值,它被认为是一个字符串。请让我知道如何重复这个

目标是在{"":""}的情况下返回“empty dict”,如果它类似于{"Key":"Value"},那么它应该返回字典不是空的

或者如果有人有更好的建议,请提出

注意:Terraform用于创建AWS_SECRET,因此AWS_SECRET将仅由Terraform创建,但如果我需要检查它是否有一些值,我将使用boto3处理它


Tags: key字符串脚本aws目标secret字典value
2条回答

使用dict.keys()获取所有密钥。然后,您可以将其与只包含""的元组进行比较

if tuple(d.keys()) == ("",):
    print("dict is empty")

您可以使用any(d.keys()) or any(d.values())

>>> d = {"": ""}
>>> any(d.keys()) or any(d.values())
False

>>> d = {"foo": ""}
>>> any(d.keys()) or any(d.values())
True

>>> d = {"foo": "bar"}
>>> any(d.keys()) or any(d.values())
True

请注意,这假定键和值始终是字符串。它将与其他falsy值一起失败,例如:

>>> d = {False: False}
>>> any(d.keys()) or any(d.values())
False

相关问题 更多 >

    热门问题