Python 计算范围内的时间

Python 计算范围内的时间,python,python-3.x,Python,Python 3.x,我正在尝试学习Python,我被困在一个日期/时间例程中,我需要查找发生在05:00和11:30之间的数据,但无论我如何操作,我都会得到一个错误。我想我需要解码时间,做数学运算,然后编码时间。我确信这是一件简单的事情,但我似乎无法完成 例如: riders = [ ["rider_2391", 37_775370, -122.417571, 37_808601, -122.409807, "17:02:35", "$17.23", "UberX"], ["rider_1879",

我正在尝试学习Python,我被困在一个日期/时间例程中,我需要查找发生在05:00和11:30之间的数据,但无论我如何操作,我都会得到一个错误。我想我需要解码时间,做数学运算,然后编码时间。我确信这是一件简单的事情,但我似乎无法完成

例如:

riders = [
    ["rider_2391", 37_775370, -122.417571, 37_808601, -122.409807, "17:02:35", "$17.23", "UberX"],
    ["rider_1879", 37.775222, 122.47109, 37.808080, -122.410002, "06:25:08",  "$22.25", "UberX"],
    ["rider_98233", 37.784125, -122.471891, 37.763025, 122.478749, "11:48:55", "$6.28",  "Pool"]
]

def getRiderDate(riders):
    ans = []
    for rider in riders:
        if rider[5] >= "05:00:00" and rider[5] <= "11:30:00":
            ans.insert(len(ans), rider)
    return ans

print(getRiderDate(riders)
riders=[
[“rider_2391”、37_775370、-122.417571、37_808601、-122.409807、“17:02:35”、“17.23美元”、“UberX”],
[rider_1879],37.775222,122.47109,37.808080,-122.410002,“06:25:08”,“22.25美元”,“UberX”],
[rider_98233],37.784125,-122.471891,37.763025,122.478749,“11:48:55”,“6.28美元”,“池”]
]
def getRiderDate(骑手):
ans=[]
对于骑手中的骑手:

如果骑手[5]>=“05:00:00”和骑手[5]您的问题是环路控制故障:

   for rider in riders:                
            if rider[5] >= "05:00:00" and rider[5] <= "11:30:00":
                    ans.insert(len(ans), rider)
            return ans;

我会使用datetime模块,主要是时间。还有前面的答案指出了什么(返回循环内部的ans等)

导入日期时间
骑手=[“骑手2391”,37_775370,-122.417571,37_808601,-122_409807,“17:02:35”,“17.23美元”,“优步”],
[rider_1879],37.775222,122.47109,37.808080,-122.410002,“06:25:08”,“22.25美元”,“UberX”],
[rider_98233],37.784125,-122.471891,37.763025,122.478749,“11:48:55”,“6.28美元”,“Pool”]
def getRiderDate(骑手):
ans=[]
t1=日期时间。时间(小时=5)
t2=日期时间。时间(小时=11,分钟=30)
对于骑手中的骑手:
t=datetime.datetime.strtime(附文[5],“%H:%M:%S”).time()

如果时间重要吗?(数据中包括了吗?)没有。我读了几篇文章。我读到的每一篇文章都是关于日期的,没有那么多时间。我读到的书中没有涉及转换时间格式的内容,因此它可以用于计算。非常感谢。这对我的水平来说有点复杂,但现在我学到了一些新的东西。它工作得很好!
def getRiderDate(riders):
    ans = []
    for rider in riders:                    
        if rider[5] >= "05:00:00" and rider[5] <= "11:30:00":
            ans.append(rider)

    return ans;
[['rider_1879', 37.775222, 122.47109, 37.80808, -122.410002, '06:25:08', '$22.25', 'UberX']]
import datetime

riders = [["rider_2391", 37_775370, -122.417571, 37_808601, -122_409807, "17:02:35", "$17.23", "UberX"],
          ["rider_1879", 37.775222, 122.47109, 37.808080, -122.410002, "06:25:08", "$22.25", "UberX"],
          ["rider_98233", 37.784125, -122.471891, 37.763025, 122.478749, "11:48:55", "$6.28", "Pool"]]


def getRiderDate(riders):
    ans = []
    t1 = datetime.time(hour=5)
    t2 = datetime.time(hour=11, minute=30)
    for rider in riders:
        t = datetime.datetime.strptime(rider[5], '%H:%M:%S').time()

        if t1 <= t <= t2:  # using chained comparison
            ans.insert(len(ans), rider)
    return ans


print(getRiderDate(riders))