Python не может понять условное выражение в цикле - PullRequest
0 голосов
/ 06 сентября 2018

Нужна помощь в питоне.Этот код взят из leetcode.com , одного из решений этой проблемы , и он не может понять условное утверждение, именно код "stack[-1][1]"

class Solution(object):

def dailyTemperatures(self, temps):

    if not temps:
        return []

    result = [0] * len(temps)
    stack = []

    for curr_idx, curr_temp in enumerate(temps):

        while stack and curr_temp > stack[-1][1]: # not clear, and I know, it is not a type of access to list element

            last_idx, last_temp = stack.pop()
            result[last_idx] = curr_idx - last_idx

        stack.append((curr_idx, curr_temp))

    return result

1 Ответ

0 голосов
/ 06 сентября 2018

Возвращает второй элемент из того, что находится в последнем индексе стека

например, если в стеке был список строк типа

stack = ['abc','def','ghi']

чем стек [-1] [1] возвращает

stack[-1] <-- 'ghi'
stack[-1][1] <-- 'h'
...