[英]Python | check if dict{} item is in list[]
嘗試檢查內存列表plant_list[]
與來自 api 的JSON
有效負載。
如果傳入的有效負載的字典name
與plant_list
內部匹配,則if
應該觸發。
相反,我的腳本只返回null
請指出我的錯誤。
通過JSON
呼叫發送的 JSON 是:
{ "name":"swizz", "days": "7", "price": 2.00 }
源代碼
from flask import Flask, request
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
@app.route('/', methods=['GET', 'POST'])
def home():
return 'Tiny'
plant_list = []
class Plant(Resource):
def get(self, name):
return {'Name':name}, 200
def post(self, name):
payload = request.get_json()
for x in range(0, len(plant_list)):
if payload['name'] == plant_list[x]['name']:
return {'message': f'''Item {payload['name']} already stored in database.'''}
else:
plant_list.append(payload)
return plant_list, 201
api.add_resource(Plant, '/plant/<string:name>')
if __name__ == '__main__':
app.run(port=9004, debug=True)
您可以簡單地通過以下方式測試字典if "price" in plant_list[x]:
的鍵if key_name in my_dict:...
您正在將 plant_list 設置為全局。 如果你想在 Class 中使用它,你應該在你的 class 中的 function 中定義它:
plant_list = []
class Plant(Resource):
....
def post(self, name):
global plant_list
....
不確定為什么需要它作為全局變量。 也許你想要:
class Plant(Resource):
plant_list = []
....
def post(self, name):
....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.