如何引用枚举的第一个参数?

how do I reference first argument of an enumeration?

我正在 Python 中使用 enumerate() 编写代码,但在引用 enumerate 中的第一个参数时遇到问题:

例如,设nums为不同日期的温度:

nums = [1,5,20,9,3,10,50,7]
array = []

for j, distance in enumerate(nums): 
    for k, distance2 in enumerate(nums[1:],1): 
        if nums[j] < nums[k]: 
            array.append(distance2[j]-distance[k]) 

所以,我面临的挑战是:如何在枚举中分别引用每个元素的 'distance' 和 'distance2'?

问题的目的是确定每一天,您必须等待多少天才能迎来温暖的一天,因此对于上面的示例,输出将是 [1,1,4,3, 1,1,0,0];如果未来没有温暖的日子,return 0.

谢谢

您需要根据索引而不是索引处的值来计算距离。

您不应每次都在 1 处重新启动下标和内部索引,而应在每次迭代 i 处重新启动。

nums = [1, 5, 20, 9, 3, 10, 50, 7]
array = []

for i, curr_temp in enumerate(nums):
    days = 0
    for j, future_temp in enumerate(nums[i:], i):
        if curr_temp < future_temp:
            # Set Days to Distance between Indexes
            days = j - i
            # Stop Looking Once Higher Value Found
            break

    array.append(days)

print(array)

输出:

[1, 1, 4, 2, 1, 1, 0, 0]