Python字典打印第一个值并忽略空值
我编写的aws lambda函数提供了以下字典输出(请注意“开始请求ID和结束请求IDPython字典打印第一个值并忽略空值,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
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)