从API请求中搜索字典中的列表

时间:2019-04-30 16:23:39

标签: python

我正在尝试查询包含列表和另一个字典的字典。我使用的是纸牌API,想提取值。

drawCard='https://deckofcardsapi.com/api/deck/vx58tedq5moe/draw/?count=1'

response = requests.get(drawCard)
getValue = json.loads(response.text)
value= (getValue['cards'])
print (getValue)
print("")
print("")
print (value)
card= (getValue['cards'](''))

这是我打印getValue时得到的。

{'deck_id': 'vx58tedq5moe', 'success': True, 'cards': [{'suit': 'SPADES', 'code': '0S', 'value': '10', 'images': {'png': 'https://deckofcardsapi.com/static/img/0S.png', 'svg': 'https://deckofcardsapi.com/static/img/0S.svg'}, 'image': 'https://deckofcardsapi.com/static/img/0S.png'}], 'remaining': 44}

我使用getValue ['cards']将其范围缩小了,但是再也不能进一步了。

[{'suit': 'SPADES', 'code': '0S', 'value': '10', 'images': {'png': 'https://deckofcardsapi.com/static/img/0S.png', 'svg': 'https://deckofcardsapi.com/static/img/0S.svg'}, 'image': 'https://deckofcardsapi.com/static/img/0S.png'}]

我想从价值中抢走10个

2 个答案:

答案 0 :(得分:0)

getValue ['cards']的值是一个列表,因此首先要访问列表元素getValue['cards'][0],然后可以使用

访问元素'value'

getValue['cards'][0]['value']

如果要从卡片列表中的所有卡片中获得全部价值,则可以使用列表推导来执行类似的操作

[c['value'] for c in getValue['cards']]

答案 1 :(得分:0)

您可以像这样往下走多个级别:

value= (getValue['cards']['value'])

BC'cards'是列表的键,而'value'是列表中值的键,其值为10。