首页 > 解决方案 > 按值过滤字典列表,然后将其他键和值添加到过滤字典?

问题描述

我有一个字典列表:

    option_list_dict = [{'strike_price': '1', 'bid_price': '0.25', 'delta': '0.94' }, 
    {'strike_price': '1.5', 'bid_price': '0.15', 'delta': '0.88'},
    {'strike_price': '2', 'bid_price': '0.05', 'delta': 'None'}, 
    {'strike_price': '2.5', 'bid_price': '0.31', 'delta': '0.25'}]

如何过滤掉例如>0.9 的“增量”,然后查看该过滤字典中其他值和键的输出?它不应该搜索“无”相关值。

所以结果应该类似于:

search_for_delta >0.9 = {'strike_price': '1', 'bid_price': '0.25', 'delta': '0.94'}

标签: pythonlistdictionaryfinance

解决方案


option_list_dict = [{'strike_price': '1', 'bid_price': '0.25', 'delta': '0.94' }, 
    {'strike_price': '1.5', 'bid_price': '0.15', 'delta': '0.88'},
    {'strike_price': '2', 'bid_price': '0.05', 'delta': 'None'}, 
    {'strike_price': '2.5', 'bid_price': '0.31', 'delta': '0.25'}]

result = []

for dict in option_list_dict:
    try:
        if float(dict['delta']) > 0.9:
            result.append(dict)
    except:
        pass

print(result)

此方法返回满足条件的所有字典的列表,在本例中:

result = [{'strike_price': '1', 'bid_price': '0.25', 'delta': '0.94'}]

推荐阅读