Нужна помощь в питоне.Этот код взят из leetcode.com , одного из решений этой проблемы , и он не может понять условное утверждение, именно код "stack[-1][1]"
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
Возвращает второй элемент из того, что находится в последнем индексе стека
например, если в стеке был список строк типа
stack = ['abc','def','ghi']
чем стек [-1] [1] возвращает
stack[-1] <-- 'ghi' stack[-1][1] <-- 'h'