Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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
Arrays 在3d阵列中高效操作列表的最佳方法?_Arrays_Python 3.x - Fatal编程技术网

Arrays 在3d阵列中高效操作列表的最佳方法?

Arrays 在3d阵列中高效操作列表的最佳方法?,arrays,python-3.x,Arrays,Python 3.x,在一个3d数组中,给我n个列表。这些列表代表时间。例如,其中一个列表可能是(1,4),这意味着1:00、2:00、3:00、4:00的“忙”。那么,对于3d数组中的所有n个列表,将(1,4)转换为(1,2,3,4)的有效方法是什么呢。请记住,n可能高达10000。我可能是个白痴,但谢谢你的帮助 ///requests is the array being given. eg [(1,4),(2,9),(4,5)] numberOfRequests=len(requests) mostTaxi=

在一个3d数组中,给我n个列表。这些列表代表时间。例如,其中一个列表可能是(1,4),这意味着1:00、2:00、3:00、4:00的“忙”。那么,对于3d数组中的所有n个列表,将(1,4)转换为(1,2,3,4)的有效方法是什么呢。请记住,n可能高达10000。我可能是个白痴,但谢谢你的帮助

///requests is the array being given. eg [(1,4),(2,9),(4,5)]

numberOfRequests=len(requests)
mostTaxi=1
talArray=[]

//Very ineffiecient way of solving current problem    

for x in range(0,numberOfRequests):
    for y in range((requests[x][0]),(requests[x][1])+1):  
        talArray.append(y)

//


busiestTime=max(set(talArray), key = talArray.count)
mostTaxi=talArray.count(busiestTime)

return mostTaxi

''

如果元组表示任务的
(开始,结束)
时间,那么您只需从每个元组中获取
end-start
(它将表示花费的小时数)并获取最大值即可

times = [
   [(1,4),(2,9),(4,5)],
   [(1,4),(1,20),(4,11)]
] 

def calculate_time(t):
  start, end = t
  return end - start

longest = max((max(map(calculate_time, each)) for each in times))
print("The longest task took", longest , "hours")