在元组中找不到价值

时间:2019-02-03 08:49:26

标签: python

我正在建立一个重叠的日期时间元组。 start_overlap和end_overlap是日期时间对象。

在每个“ for time_tuple中的项目”循环中,我想查看项目中是否存在时间。即使时间在被评估的项目中确实存在,这种比较也总是失败。

time = start_overlap
end = end_overlap
time_tuple = (...contains a bunch of items in the format of (str(time),1), ...)

while time < end:    
    if time_tuple == ():            
        time_tuple +=(str(time),1), 

    else:
        for item in time_tuple:

            if str(time) in str(item): #this never resolves to true
                print('time found in item')    
                pass

            else:
                time_tuple +=(str(time),1),

    time = time + timedelta(minutes=7.5)

您是否可以查看我的条件语句在哪里检查str(time)是否在项目中?

谢谢

2 个答案:

答案 0 :(得分:0)

指令str(time) in str(item)datetime的字符串表示形式与项目typing.Tuple[str, int]的字符串表示形式进行比较。这将不可避免地失败。

我无法测试它,因为我没有一个可以正常运行的代码库,但是可以通过将以上说明替换为str(time) in item或(如果您愿意的话,str(time) == item[0])来进行测试。

希望这会有所帮助。

答案 1 :(得分:-1)

更改此行:

if str(time) in str(item):

对此:

if (str(time),1) === str(item):