【发布时间】:2021-12-04 21:36:54
【问题描述】:
基本上我想找到并打印所有重复元素的位置。这是我的代码:
numbers = [7,1,3,6,4,2,5,9,8,10]
n = int(input("Enter a number from 1 to 10 to search for the number's position: "))
def findNum():
count = 0
while numbers[count] != n:
count += 1
numPos = count + 1
print(numPos)
if n in numbers:
print("Calculating position... (takes 9 years so wait)")
findNum()
else:
print("Number not found, next time enter a number from 1 to 10!")
例如我在numbers 中添加了一个额外的7:
numbers = [7,1,3,6,4,2,5,9,8,10,7]
然后我想返回第一个7 的位置以及另一个7 的位置。怎么做?
【问题讨论】:
-
index=[idx for idx,val in enumerate(some_list) if val==n] -
@Ch3steR 我不认为重复是合适的
-
@DaniMesejo OP 将
n作为输入,想要打印所有出现的n的索引。除了找到min值的索引之外,我链接的骗子做同样的事情?或者也许我理解了这个问题? -
@Ch3steR 我理解您的推理,并确定这两个问题都是关于查找索引的,但正如您所说,一个找到索引 o 最小值,因此只有一组索引(最小值?)可用,当面对重复时可以多组索引,每个重复。
-
@DaniMesejo 但是从 OP 的代码来看,我认为很明显他只想要
n的索引。 IIUC,你说的是 OP 想要的L = [7, 7, 8, 8]->{7:[0, 1], 8:[2, 3]}?我认为 OP 想要[0, 1]如果n是 7,如果n是 8[2, 3]。我认为你的回答和往常一样好,在这里有点过分了。也+1。我可能错了英语不是我的母语。我很高兴重新提出问题。
标签: python list indexing duplicates