首页 > 解决方案 > 是否有一个函数可以根据 Python 和 Flask 中输入值的变化更新过滤字典?

问题描述

我有一本要按价格过滤的房屋数据字典。

这是索引路由中的当前结构:

@app.route('/')
def index():
    output_dict = purchaseDF.to_dict(orient='records')

    for sub in output_dict:
        for key in sub:
            sub['ListPrice'] = float(sub['ListPrice'])

    res = [d for d in output_dict if d['ListPrice']<=float(calcprice())]

这是 calcprice 路线:

@app.route('/calcprice', methods=['GET', 'POST'])
def calcprice():
    price = '120000'
    if request.method == 'POST':
        testVal = request.form
        price = str(testVal['Income'])
    return price 

我有一个默认值,当值更改时,它会被 Flask 中的表单覆盖。

我一直坚持让字典更新 Flask 中表单的更改。

标签: pythonflask

解决方案


我会这样做:

result_list = []

for item in output_list: 
    item['ListPrice'] = float(item['ListPrice']) 
    if item['ListPrice'] <= float(calcprice()): 
        result_list.append(item) 

我用您评论中的示例数据测试了上述内容是否符合您的要求:

In [10]: output_list
Out[10]: 
[{'MLSNumber': '4144075',
  'ListPrice': 565000.0,
  'BedsTotal': '4',
  'MLSAreaMinor': 'Cheyenne Run',
  'StreetNumber': '859',
  'StreetName': 'Redemption',
  'PostalCode': '80905',
  'TaxAmount': '1366.00'}]

推荐阅读