我正在建立一个重叠的日期时间元组。 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)是否在项目中?
谢谢
答案 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):