带有枚举的 For 循环 - 索引位置
For loop with enumerate - index position
我有一个从列表中删除重复项的解决方案。在这个解决方案中使用了枚举。
def myfunc(list_input):
list_output=[]
for num1, num2 in enumerate(list_input):
if num2 not in list_input[0:num1]:
list_output.append(num2)
return list_output
print(myfunc([1,1,2,3])) --> ,[1,2,3,]
但是,我不明白我们应该以何种方式读取枚举的索引位置。
list_input[0:num1]
中每个交互的位置是什么,考虑到我们已经用 num1, num2
开始了 for
循环?
Enumerate 遍历一个可迭代对象(在本例中为 list_input
),每次迭代都将第一个值(在本例中为 num1
)设置为当前索引,将第二个值(在本例中为 num1
)这种情况 num2
) 到此索引处的可迭代值。
例如,在第一次迭代中,num1 == 0
作为迭代从第 0 个元素开始,num2 == 1
作为 list_input[0] == 1
。 list_input[0:num1] == []
所以里面什么都没有,因此值被附加到输出。
在第二次迭代中,索引增加了 1,因此 num1 == 1
。 list_input[0:num1] == [1]
现在,由于 num2
在 [1]
中,该值不会附加到输出列表。
问题需要详细说明,请修改格式。但是如果我理解正确的话,如果你想删除重复项并且需要非重复项的每个元素(数字)的定位或索引,你可以使用 enumerate() 并可能做这样的事情:
nums = [1,1,3,5,7,9]
newlist = []
for num in nums:
if num not in newlist:
newlist.append(num)
for index, nums in enumerate(newlist):
print("Index positioning: %s and Number at respective index is: %s" % (index,nums))
输出:
Index positioning: 0 and Number at respective index is: 1
Index positioning: 1 and Number at respective index is: 3
Index positioning: 2 and Number at respective index is: 5
Index positioning: 3 and Number at respective index is: 7
Index positioning: 4 and Number at respective index is: 9
我有一个从列表中删除重复项的解决方案。在这个解决方案中使用了枚举。
def myfunc(list_input):
list_output=[]
for num1, num2 in enumerate(list_input):
if num2 not in list_input[0:num1]:
list_output.append(num2)
return list_output
print(myfunc([1,1,2,3])) --> ,[1,2,3,]
但是,我不明白我们应该以何种方式读取枚举的索引位置。
list_input[0:num1]
中每个交互的位置是什么,考虑到我们已经用 num1, num2
开始了 for
循环?
Enumerate 遍历一个可迭代对象(在本例中为 list_input
),每次迭代都将第一个值(在本例中为 num1
)设置为当前索引,将第二个值(在本例中为 num1
)这种情况 num2
) 到此索引处的可迭代值。
例如,在第一次迭代中,num1 == 0
作为迭代从第 0 个元素开始,num2 == 1
作为 list_input[0] == 1
。 list_input[0:num1] == []
所以里面什么都没有,因此值被附加到输出。
在第二次迭代中,索引增加了 1,因此 num1 == 1
。 list_input[0:num1] == [1]
现在,由于 num2
在 [1]
中,该值不会附加到输出列表。
问题需要详细说明,请修改格式。但是如果我理解正确的话,如果你想删除重复项并且需要非重复项的每个元素(数字)的定位或索引,你可以使用 enumerate() 并可能做这样的事情:
nums = [1,1,3,5,7,9]
newlist = []
for num in nums:
if num not in newlist:
newlist.append(num)
for index, nums in enumerate(newlist):
print("Index positioning: %s and Number at respective index is: %s" % (index,nums))
输出:
Index positioning: 0 and Number at respective index is: 1
Index positioning: 1 and Number at respective index is: 3
Index positioning: 2 and Number at respective index is: 5
Index positioning: 3 and Number at respective index is: 7
Index positioning: 4 and Number at respective index is: 9