有没有一种正确的方法来评估Python元组?

时间:2017-05-05 21:53:10

标签: python

我刚刚写了一些我写的东西的问题,并希望我能够正确解释发生的事情,以及解决问题的最佳方法。我有一个修复程序,但我不确定它是否是最佳解决方案

我有一个变量interval,它是一个字符串。在这种情况下,让我们说interval = 'Day'

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

if interval in ('FiscalWeekDaily','Daily'):
  ...
  ...
elif interval in ('DayHourly'):

现在我认为'Day' in ('DayHourly')会评估为False,但事实证明它的评估结果为True。对此有何准确解释?我认为由于只有1个元素,因此将'Day'与该元素进行比较。

因此,如果我尝试'Day' in ('DayHourly', 'whatever'),那么评估为False因为'Day'是针对每个元素进行评估的,对吗?

所以我的修复只是elif interval in ['DayHourly']:。这是正确的做法吗?

1 个答案:

答案 0 :(得分:2)

其中包含单个对象的元组需要有一个逗号,它是制作元组的逗号,而不是括号

换句话说:

('DayHourly') == 'DayHourly'

您想要('DayHourly',)