【问题标题】:Tuple index out of range in PythonPython中的元组索引超出范围
【发布时间】:2016-10-20 01:15:00
【问题描述】:
def max_logged_in(interval_lst,T):
    startArr, endArr = zip(*interval_lst)
    i = 0
    j = 0
    maxOverlap = 0
    currentOverlap = 0
    while (i<T and j<T):
        if (startArr[i] < endArr[j]):
            currentOverlap = currentOverlap + 1
            maxOverlap = max(maxOverlap, currentOverlap)
            i = i + 1
        else:
            currentOverlap = currentOverlap - 1
            j = j + 1

代码应该遍历两个数组并找到最大重叠给出一个列表,例如[(5,15), (18,25), (3,12), (4, 11), (1,15), (18,19)] 在给定时间(T)。 运行此代码给了我一个元组索引错误。我似乎无法弄清楚为什么它给了我一个索引错误。

【问题讨论】:

  • 如果T > 5,那么你的if会导致你得到的错误。
  • 您能详细说明一下吗?我很难理解为什么。
  • T的值是多少?
  • 可以是任意随机数。在这种情况下,它是 30。

标签: python indexing tuples


【解决方案1】:

如果T 大于interval_lst 的长度,则i 和/或j 可以达到该长度,但startArr 和endArr 中都没有元素该索引(因为它们的长度都与interval_lst 相同)。

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 2013-12-16
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多