【发布时间】:2021-05-25 19:22:52
【问题描述】:
所以我有一组 dicts(这是一个示例)请参阅下面的完整代码集
{
"XETHXXBT": {
"altname": "ETHXBT",
"wsname": "ETH/XBT",
"aclass_base": "currency",
"base": "XETH",
"aclass_quote": "currency",
"quote": "XXBT",
"lot": "unit",
"pair_decimals": 5,
"lot_decimals": 8,
"lot_multiplier": 1,
"leverage_buy": [
2,
3,
4,
5
],
"leverage_sell": [
2,
3,
4,
5
],
"fees": [
[],
[],
[],
[],
[],
[],
[],
[],
[]
],
"fees_maker": [
[],
[],
[],
[],
[],
[],
[],
[],
[]
],
"fee_volume_currency": "ZUSD",
"margin_call": 80,
"margin_stop": 40,
"ordermin": "0.005"
},
"XXBTZUSD": {
...
"ordermin": "0.0002" }}
我想在匹配键时返回完整的字典。
我在使用时不断遇到关键错误:
import krakenex
kex = krankenex.API()
assets = kex.query_public('AssetPairs')
a = {x for x in assets if assets[x]['wsname'] == 'XBT/USD'}
我认为这是做这种事情的“pythonic”方式,但也许我错过了一步?
a = {x for x in assets.keys() if assets[x].get('wsname') == 'XBT/USD'}
是否有一个很好的通用建议标签来回答问题,因为我绝对应该更好地使用 try/except 块?
【问题讨论】:
-
a = {x for x in assets.keys() if assets[x].get('wsname') == 'XBT/USD'}应该可以解决问题 -
成功了,非常感谢!
标签: python-3.x dictionary kraken.com