Python字典打印第一个值并忽略空值

Python字典打印第一个值并忽略空值,python,dictionary,Python,Dictionary,我编写的aws lambda函数提供了以下字典输出(请注意“开始请求ID和结束请求ID START RequestId: 74d45fe6-c579-11e8-835d-73465f3bb0f0 Version: $LATEST {u'd2otag1p96': [[0, 20]], u'k43tbb7nic': [[0, 20]], u'90yuipi22i': [[18, 2]]} {} END RequestId: 74d45fe6-c579-11e8-835d-73465f3bb0f0

我编写的aws lambda函数提供了以下字典输出(请注意“开始请求ID和结束请求ID

START RequestId: 74d45fe6-c579-11e8-835d-73465f3bb0f0 Version: $LATEST
{u'd2otag1p96': [[0, 20]], u'k43tbb7nic': [[0, 20]], u'90yuipi22i': [[18, 2]]}
{}
END RequestId: 74d45fe6-c579-11e8-835d-73465f3bb0f0
有人能告诉我如何只打印键和它的第一个对应值,而忽略第三行上的两个花括号吗?即d2otag1p96:0、k43tbb7nic:0、90YUIP22I:18

下面是我尝试过的,但没有效果。只发布了与此问题相关的部分代码。请注意打印的声明

for uplan in uplans:
        used = (uplan['id'])
        lmt = (uplan['quota']['limit'])
        resp = client.get_usage(keyId='',usagePlanId=(used), startDate=today,endDate=today)['items']
        print(resp.itmes)[0]

通过测试空dict的长度不为零来禁止打印它。假设
dd
是您的字典

if len(dd.keys())>0:
    [print(key, value[0][0]) for key, value in dd.items()]
给予

d2otag1p96 0
k43tbb7nic 0
90yuipi22i 18
为了

对我来说什么都没有

dd = dict{}

假设您收到的是实际的
dict
,而不是
json
。下面的示例说明了我的观点。只需检查dict是否为空

d={}
if d:
    print('printing dict with values')
    print(d.items()[0])
else:
    print('empty dict')
输出:

'empty dict'
在另一个示例中,如果
dict
包含键

d={u'd2otag1p96': [[0, 20]], u'k43tbb7nic': [[0, 20]], u'90yuipi22i': [[18, 2]]}
if d:
    print('printing dict with values')
    for k,v in d.items():
        print(str(k),v[0][0])
else:
    print('empty dict')
输出

 printing dict with values
('d2otag1p96', 0)
('k43tbb7nic', 0)
('90yuipi22i', 18)

这似乎是一个空的
dict
。您可以检查
len(your_dict.keys())>0
,然后只打印值。@mad_uu。非常感谢。您能提供一个代码让我更好地理解吗。非常感谢。为了确认我相信我可以用“resp”替换“dd”这里?我很抱歉,因为我对python非常陌生,所以有一些愚蠢的问题。如果
resp
是你的字典,那么你可以试试
 printing dict with values
('d2otag1p96', 0)
('k43tbb7nic', 0)
('90yuipi22i', 18)