是否有一种针对Python元组进行计算的正确方法?

是否有一种针对Python元组进行计算的正确方法?,python,Python,我刚刚在我写的东西上发现了一个问题,我希望我能对发生的事情有一个正确的解释,以及最好的解决方法。我有一个解决方案,但不确定这是否是最好的解决方案 我有一个变量interval,它是一个字符串。在这个场景中,让我们假设interval='Day' 代码将其与if和elif表达式中的元组进行比较: if interval in ('FiscalWeekDaily','Daily'): ... ... elif interval in ('DayHourly'): 现在我以为('DayHou

我刚刚在我写的东西上发现了一个问题,我希望我能对发生的事情有一个正确的解释,以及最好的解决方法。我有一个解决方案,但不确定这是否是最好的解决方案

我有一个变量
interval
,它是一个字符串。在这个场景中,让我们假设
interval='Day'

代码将其与ifelif表达式中的元组进行比较:

if interval in ('FiscalWeekDaily','Daily'):
  ...
  ...
elif interval in ('DayHourly'):
现在我以为('DayHourly')中的
'Day'会计算为
False
,但结果却是
True
。对此的确切解释是什么?我假设,由于只有1个元素,所以将“Day”与该元素进行比较

因此,如果我在('DayHourly','Anwhere')
中尝试
'Day',它的计算结果为
False
,因为'Day'是针对每个元素计算的,对吗


因此,我的解决方案就是['DayHourly']中的
elif间隔:
。这是正确的方法吗?

包含单个对象的元组需要有一个逗号,是逗号构成元组,而不是括号

换言之:

('DayHourly') == 'DayHourly'

如果想要
('DayHourly',)
包含单个对象的元组,则需要有一个逗号,构成元组的是逗号,而不是括号

换言之:

('DayHourly') == 'DayHourly'
您希望
('DayHourly',)

('DayHourly')
不是元组。它只是
'DayHourly'
('DayHourly')
不是一个元组。只是
“每小时一天”