我想就如何使用 Put 請求更新 dict 尋求建議
我想用 {“email”: “[email protected]”} 更新下面字典中的電子郵件
users=[{"userid":1,"username":"John","email":"[email protected]","role":"member","password":"abc123"}]
該代碼將檢查用戶 ID 是否存在并回傳 if else。
但是,我無法附加 userEmail,因為它共享 dict 實體沒有 append 方法
@app.route('/users/<int:userid>', methods=["PUT"])
def addEmail(userid):
userEmail=request.json
reqUser = None
for user in users:
if user['userid']==userid:
reqUser=user
break
if reqUser != None:
reqUser.append(userEmail)
output={“User with <id> has been successfully updated!”}
return jsonify(output),200
else:
output={"Message":“User with <id> does not exist!”}
return jsonify(output),404
或者,我嘗試將密鑰插入 dict 但它也共享該 dict 實體沒有插入成員
@app.route('/users/<int:userid>', methods=["PUT"])
def addEmail(userid):
userEmail=request.json
reqUser = None
for user in users:
if user['userid']==userid:
reqUser=user
break
if reqUser != None:
reqUser.insert(0,{
"email":userEmail["email"]
})
output={"Message":"User Updated"}
return jsonify(output),200
else:
output={"Message":“User with <id> does not exist!”}
return jsonify(output),404
怎么可能改變 dict 專案?
uj5u.com熱心網友回復:
方法append和insert串列的方法,adict是鍵/值的映射,添加一個新的映射做: reqUser['email'] = user_email["email"]
對代碼風格進行了一些改進:
@app.route('/users/<int:userid>', methods=["PUT"])
def addEmail(userid):
user_email = request.json
for user in users:
if user['userid'] == userid:
user["email"] = user_email["email"]
return jsonify({"Message": "User Updated"})
return jsonify({"Message": f"User with id={userid} does not exist!"}), 404
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/358969.html
