我创建了一个程序来获取列表的最大值及其出现的位置(列表从1而不是0的索引开始),但是我找不到任何有用的解决方案。输入始终是一串数字除以零。
这是我的代码:
inp = list(map(int,input().split()))
m = max(inp)
count = inp.count(m)
print(m)
def maxelements(seq): # @SilentGhost
return [i for i, j in enumerate(seq) if j == m]
print(maxelements(inp))
我希望先输出最大值,然后输出其出现的所有位置。 (也可以像下面的示例中那样不使用方括号吗?)
输入:4 56 43 45 2 56 8
输出:56
2 6
如果您要移动索引值,可以这样做
return [i + 1 for i, j in enumerate(seq) if j == m]
通常是i或j的任何变换!
def f(i, j):
# do whatever you want, and return something
return i + 1
return [f(i, j) for i, j in enumerate(seq) if j == m]
[不带括号,作为字符串:
return " ".join(i +1 for i, j in enumerate(seq) if j==m)