![](/img/trans.png)
[英]How can I determine which variable to use for a defined function in python
[英]how to use nested dictionary in python which return user defined variable
我正在嘗試獲取time
值,如果在人中發現它應該打印時間,否則沒有時間
下面是我試圖測試的代碼:
import datetime
people = {1: {'time': '', 'age': '27', 'sex': 'Male'},
2: {'time': '', 'age': '22', 'sex': 'Female'}}
time = datetime.datetime.now()
for time in people.items():
if time in people.items():
print(people,"true");
else:
print(people,"false");
輸出是:
{1: {'age': '27', 'sex': 'Male', 'time': ''}, 2: {'age': '22', 'sex': 'Female', 'time': ''}} true
{1: {'age': '27', 'sex': 'Male', 'time': ''}, 2: {'age': '22', 'sex': 'Female', 'time': ''}} true
我希望它在顯示當前時間戳值的值time
。
期望的輸出:
{1: {'age': '27', 'sex': 'Male', 'time': '2021-06-17T05:42:32.204965'}, 2: {'age': '22', 'sex': 'Female', 'time': '2021-06-17T05:42:32.204965'}} true
參考:
{
"id": "urn:ngsi-ld:Device:filling001",
"type": "FillingSensor",
"filling": {
"type": "Property",
"value": 0.94,
"unitCode": "C62",
**"time": "2021-01-28T12:33:10.000Z"**
},
"time_index": "2021-01-28T12:33:20.476"
}
我在這里做錯了什么。 這方面的幫助會很大嗎?
您的代碼有幾個問題:
您使用相同的變量time
與time = datetime.datetime.now()
和for time in people.items()
因此第二個將覆蓋第一個值。
people.items()
返回一個 key, value 元素的元組,即: (1, {...})
所以你不能將time
與 (key, value) 進行比較。
使用in
運算符對我來說似乎很錯誤,我會嘗試如下所示。
.
time = datetime.datetime.now()
for key, val in people.items():
print({key:val}, "true" if val.get("time") == time else "false")
您需要在字典初始化之前將time
初始化為datetime.datetime.now()
,然后將空引號替換為time
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.