首页 > 解决方案 > 浏览字典 Python

问题描述

我正在尝试编写一个遍历 SavedStrats 字典并为每个帐户和策略打印出 Exchange 的 for 循环。

SavedStrats 字典内部:

{'Account1': {'MACDStrategy2.0': OrderedDict([('Exchange', 'Bybit'),
                                              ('Script', 'MomentumStrats'),
                                              ('StratStatus', 'ACTIVE')]),
              'STDandRegressionStrategy': OrderedDict([('Exchange', 'Bybit'),
                                                       ('Script',
                                                        'MomentumStrats'),
                                                       ('StratStatus',
                                                        'ACTIVE')])},
 'Account2': {'BollingerBandStrategy': OrderedDict([('Exchange', 'Bybit'),
                                                    ('Script',
                                                     'MomentumStrats'),
                                                    ('StratStatus',
                                                     'PAUSED ')])}}

代码:

for account in Savedstrats:
    print(account)
    for strats in account[0]:
       print(strats, " Exchnage: ", strats['StratStatus'])

预期输出:

Account1
MACDStrategy2.0 Strat Status: ACTIVE
STDandRegressionStrategy Strat Status: ACTIVE
Account2
BollingerBandStrategy Strat Status: PAUSED 

标签: python-3.xdictionaryfor-loopfilterformat

解决方案


for k, v in SavedStrats.items():
    print(k)
    for s, d in v.items():
        print(s, "Strat Status:", d["StratStatus"])

印刷:

Account1
MACDStrategy2.0 Strat Status: ACTIVE
STDandRegressionStrategy Strat Status: ACTIVE
Account2
BollingerBandStrategy Strat Status: PAUSED 

推荐阅读