Python 根据日期时间将不同的数据分配到字段中
我正在做一个练习,并正在按日期对词典中的条目进行排序。dict示例:Python 根据日期时间将不同的数据分配到字段中,python,Python,我正在做一个练习,并正在按日期对词典中的条目进行排序。dict示例: [ {"emp_id": 1, "working": "Now", "start_work": datetime.datetime(..), "end_work": datetime.datetime()}, {"emp_id": 1, "working": "Now", "start_work": datetime.datetime(..), "end_work": datetime.datetime()}, {"emp_
[
{"emp_id": 1, "working": "Now", "start_work": datetime.datetime(..), "end_work": datetime.datetime()},
{"emp_id": 1, "working": "Now", "start_work": datetime.datetime(..), "end_work": datetime.datetime()},
{"emp_id": 1, "working": "Now", "start_work": datetime.datetime(..), "end_work": ""}] ->previous
将向列表中添加一个新字段
[{"emp_id": 1, "working": "Now", "start_work": datetime.datetime(..), "end_work": ""}] -> new field
我的问题是新的领域,工作应该是现在,以前的[现在]应该是[曾经工作过],其他两个领域必须是[工作过]。我在Python中这样做,是基于开始工作和结束工作进行检查,但我不知道如何检查前一行以将工作分配给[正在工作]。。有人能给我一些想法吗?在Python中执行此操作听起来您的列表已经按照
end\u work
字段进行了排序,因此您只需担心每个dict
在列表中的位置。负指数派上了用场
employees = [...] # The original list
employees.append({...}) # Add the new employees
employees[-2]["working"] = "Was Working" # Update the most recent previous employee
for emp in employees[:-3]: # Update all other old employees
emp["working"] = "Worked"
如果不是这样,你可以很容易地做到
employees.sort(key=lambda x: x["end_work"])
# Now add new employee and update previous employees