我從通常以 JSON 格式提供的用戶 API 請求(來自 API 正文)中獲取一些數據有效負載。它作為字典存儲在我的 python 代碼中。"Data":{ "Ready Date":"2020-01-31T12:00:00", "Ready Time":"2020-01-31T12:00:00", "Delivery Date":"2020-02-15T12:00:00", "Service Level":"EC", "Close Time":"2020-01-31T17:00:00"}我想驗證給定的字段。如果用戶沒有給出“就緒日期”,它應該說缺少就緒日期并檢查該 JSON 中的每個對象并說明是否缺少某些內容我的代碼:我將所有字典鍵存儲在一個數組中,例如:a = ["Ready Date","Ready Time","DeliveryDate","Service Level","Close Time"]我的邏輯for value in data: if value not in a: print("value Missing" : Value) else: print("All values are entered")結果:如果我給字典和列表中的所有值都一樣,My results prints :All values are enteredAll values are enteredAll values are entered如果我從字典中刪除任何值并檢查條件,我會得到以下打印結果value missing : Ready DateAll values are enteredAll values are entered我需要避免循環并且只打印一次
1 回答

子衿沉夜
TA貢獻1828條經驗 獲得超3個贊
你不應該在沒有首先提供你嘗試過的證據的情況下提出問題(盡管你沒有提出問題你給了任務),但答案如下:
data = {
"Ready Date":"2020-01-31T12:00:00",
"Ready Time":"2020-01-31T12:00:00",
"Delivery Date":"2020-02-15T12:00:00",
"Service Level":"EC",
"Close Time":"2020-01-31T17:00:00"}
a = ["Ready Date","Ready Time","DeliveryDate","Service Level","Close Time"]
missing = [field for field in a if field not in data]
if len(missing) == 0:
print("All values are entered")
else:
[print(f"Missing value: {field}") for field in missing]
添加回答
舉報
0/150
提交
取消