【发布时间】:2021-10-24 08:03:49
【问题描述】:
我正在尝试编写仅打印 sub-dictionaries 的 file1s value 变量输出的代码,因此 {'StrategyNumber': 2, 'TradingPair': 'BCHUSDT', 'value': 3000}s value 输出将是 3000 。如果file2 的Openningdate 和Closingdate 不为空,则file1 和file2 匹配,那么我想获得子词典的value 输出。我怎样才能得到Expected Output?
字典:
file1={'RSI': [{'StrategyNumber': 1, 'TradingPair': 'BTCUSD', 'value': 100}], 'MOM': [{'StrategyNumber': 2, 'TradingPair': 'BCHUSDT', 'value': 3000}, {'StrategyNumber': 3, 'TradingPair': 'ETHUSDT', 'value': 22}], 'MOM_RSI': [{'StrategyNumber': 4, 'TradingPair': 'BCHUSDT', 'value': 4556}, {'StrategyNumber': 5, 'TradingPair': 'BTCUSDT', 'value': 234}]}
file2={'RSI': [{'StrategyNumber': 1, 'Openningdate': [], 'Closingdate': []}], 'MOM': [{'StrategyNumber': 2, 'Openningdate': [324284], 'Closingdate': [23234]}, {'StrategyNumber': 3, 'Openningdate': [324235456, 78475], 'Closingdate': [232343435, 45678756]}], 'MOM_RSI': [{'StrategyNumber': 4, 'Openningdate': [], 'Closingdate': []}, {'StrategyNumber': 5, 'Openningdate': [777, 88, 9, 10], 'Closingdate': [10, 476, 3456, 45]}]
过滤器代码:
for Strats in file2:
for Strats_info in file2[Strats]:
for momentum_filter in file1[Strats]:
if len(Strats_info["Openningdate"]) > 0 and len(Strats_info["Closingdate"]) > 0:
print(momentum_filter['value'])
输出:
3000
22
3000
22
4556
234
预期输出:
3000
24
234
【问题讨论】:
标签: python json dictionary filter format