Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据日期时间将不同的数据分配到字段中_Python - Fatal编程技术网

Python 根据日期时间将不同的数据分配到字段中

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_

我正在做一个练习,并正在按日期对词典中的条目进行排序。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_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