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

Python 如何引用枚举的第一个参数?,python,enumerate,Python,Enumerate,我正在用Python编写enumerate()代码,在引用enumerate中的第一个参数时遇到问题: 例如,将NUM设为不同日期的温度: 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.app

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

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

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]) 
nums=[1,5,20,9,3,10,50,7]
数组=[]
对于j,枚举中的距离(nums):
对于k,枚举中的距离2(nums[1:],1):
如果nums[j]
因此,我面临的挑战是:如何在枚举中分别引用每个元素的“距离”和“距离2”

这个问题的目的是确定每一天,你需要等待多少天才能迎来温暖的一天,因此对于上面的例子,输出应该是[1,1,4,3,1,1,0,0];如果前面没有温暖的天气,请返回0


谢谢

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

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

nums=[1,5,20,9,3,10,50,7]
数组=[]
对于i,枚举中的当前温度(nums):
天数=0
对于j,枚举中的未来温度(nums[i:],i):
如果当前温度<未来温度:
#将天数设置为索引之间的距离
天数=j-i
#一旦找到更高的值,停止查找
打破
array.append(天)
打印(数组)
输出:

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

枚举
将为您提供列表中的索引和值
distance
是来自
nums
int
distance 2
也是来自
nums
int
,这意味着它们不可订阅。您想做什么?你能包括你期望的输出吗?如果你最终需要做的只是
if distance
array.append(distance 2-distance)
,那么你似乎根本不需要在这里枚举。好的,我已经提出了完整的问题。抱歉,我不认为这个问题行得通,但我知道在我编辑上面的问题之前,你提出了你的解决方案。你如何定义“温暖的一天”?也许你可以把它添加到问题中,请再问一个问题-为什么天=0在它的范围内?因为我试着把它移到以前的范围,但我得到了错误的答案。只是好奇这是怎么回事,谢谢!外循环通过起点,内循环从当天开始。对于每一个新的“开始”日,到下一个更热日的天数需要重置为0。这就是为什么它是外环体的第一步。谢谢亨利,这很有意义。如果你有时间,我可以再请你帮个小忙吗。可以分享吗。一个解决方案,但使用堆栈?我试过很多东西,但都做不好。不确定我是否需要发布一个单独的问题,但如果必要的话,我会这样做!