如何引用枚举的第一个参数?
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]
我正在 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]